python數(shù)據(jù)爬下來保存的位置
昨天下班后忽然興起想寫一個(gè)爬蟲抓抓網(wǎng)頁上的東西。花了一個(gè)鐘簡(jiǎn)單學(xué)習(xí)了python的基礎(chǔ)語法,然后參照網(wǎng)上的例子自己寫了個(gè)爬蟲。
python數(shù)據(jù)爬下來保存在本地,一般是文件或數(shù)據(jù)庫中,但是文件形式相比要更加簡(jiǎn)單,如果只是自己寫爬蟲玩,可以用文件形式來保存數(shù)據(jù)。
#coding=utf-8
import urllib.request
import re
import os
'''
Urllib 模塊提供了讀取web頁面數(shù)據(jù)的接口,我們可以像讀取本地文件一樣讀取www和ftp上的數(shù)據(jù)
urlopen 方法用來打開一個(gè)url
read方法 用于讀取Url上的數(shù)據(jù)
'''
def getHtml(url):
page = urllib.request.urlopen(url);
html = page.read();
return html;
def getImg(html):
imglist = re.findall('img src="(http.*?)"',html
return imglist
html = getHtml("https://www.zhihu.com/question/34378366").decode("utf-8");
imagesUrl = getImg(html);
if os.path.exists("D:/imags") == False:
os.mkdir("D:/imags");
count = 0;
for url in imagesUrl:
print(url)
if(url.find('.') != -1):
name = url[url.find('.',len(url) - 5):];
bytes = urllib.request.urlopen(url);
f = open("D:/imags/"+str(count)+name, 'wb');
f.write(bytes.read());
f.flush();
f.close();
count+=1
經(jīng)測(cè)試,基本功能還是可以實(shí)現(xiàn)的?;ǖ妮^多的時(shí)間就是正則匹配哪里,因?yàn)樽约簩?duì)正則表達(dá)式也不是非常熟悉。所以還是花了點(diǎn)時(shí)間。
注:上面的程序基于 python 3.5。python3 和 python2 還是有些區(qū)別的。我剛開始看基礎(chǔ)語法的時(shí)候就栽了一些坑里。
以上就是python數(shù)據(jù)爬下來保存在哪里的詳細(xì)內(nèi)容,感謝大家的學(xué)習(xí)和對(duì)腳本之家的支持。
相關(guān)文章
Python工程實(shí)踐之np.loadtxt()讀取數(shù)據(jù)
為了方便使用和記憶,有時(shí)候我們會(huì)把numpy.loadtxt()縮寫成np.loadtxt(),這篇文章主要給大家介紹了關(guān)于Python工程實(shí)踐之np.loadtxt()讀取數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下2023-07-07
Python中TypeError:unhashable?type:'dict'錯(cuò)誤的解決辦法
這篇文章主要給大家介紹了關(guān)于Python中TypeError:unhashable?type:'dict'錯(cuò)誤的解決辦法,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2023-04-04
python兩個(gè)_多個(gè)字典合并相加的實(shí)例代碼
這篇文章主要介紹了python兩個(gè)_多個(gè)字典合并相加,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12
在Linux下使用Python的matplotlib繪制數(shù)據(jù)圖的教程
這篇文章主要介紹了在Linux下使用Python的matplotlib繪制數(shù)據(jù)圖的教程,matplotlib基于Numpy進(jìn)行科學(xué)計(jì)算上的延伸,需要的朋友可以參考下2015-06-06
Python如何實(shí)現(xiàn)強(qiáng)制數(shù)據(jù)類型轉(zhuǎn)換
這篇文章主要介紹了Python如何實(shí)現(xiàn)強(qiáng)制數(shù)據(jù)類型轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-11-11
Flask的圖形化管理界面搭建框架Flask-Admin的使用教程
Flask-Admin是一個(gè)為Python的Flask框架服務(wù)的微型框架,可以像Django-Admin那樣為用戶生成Model層面的數(shù)據(jù)管理界面,接下來就一起來看一下Flask的圖形化管理界面搭建框架Flask-Admin的使用教程2016-06-06
python中while和for的區(qū)別總結(jié)
在本篇內(nèi)容里小編給大家分享的是關(guān)于python中while和for的區(qū)別以及相關(guān)知識(shí)點(diǎn),需要的朋友們可以學(xué)習(xí)下。2019-06-06
Python 中的 plt.hist 函數(shù)基本用法詳解
plt.hist 函數(shù)用于繪制直方圖,直方圖是一種用來表示數(shù)據(jù)分布的圖形,它將數(shù)據(jù)分成若干個(gè)區(qū)間,然后統(tǒng)計(jì)每個(gè)區(qū)間中數(shù)據(jù)的數(shù)量,最終以柱狀圖的形式展示出來,這篇文章主要介紹了Python 中的 plt.hist 函數(shù)基本用法詳解,需要的朋友可以參考下2021-04-04
Python中round()函數(shù)實(shí)現(xiàn)數(shù)值的四舍五入
這篇文章主要給大家介紹了關(guān)于Python中round()函數(shù)實(shí)現(xiàn)數(shù)值的四舍五入,round()是python自帶的一個(gè)函數(shù),用于數(shù)字的四舍五入,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-05-05
Django 接收Post請(qǐng)求數(shù)據(jù),并保存到數(shù)據(jù)庫的實(shí)現(xiàn)方法
今天小編就為大家分享一篇Django 接收Post請(qǐng)求數(shù)據(jù),并保存到數(shù)據(jù)庫的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07

