實戰(zhàn)案例:爬蟲抓取網(wǎng)頁數(shù)據(jù)

我們經(jīng)常收集一些數(shù)據(jù),但是當(dāng)數(shù)據(jù)很少的時候,我們會習(xí)慣性地手動下載,但是如果數(shù)量很大,我們肯定想找一個工具來幫助收集。
 
比如說使用了一些采集工具,但是由于這些工具都是設(shè)置好的,不符合我們的需求,如果要求比較低,就要使用。如果你要求很高,不妨做一個爬蟲,抓取你想要的任何信息。
 
這取決于你是否能寫爬行動物。其實很簡單。邊肖將為大家分享抓取網(wǎng)頁數(shù)據(jù)的案例。
 
1.獲取網(wǎng)頁信息。
 
動態(tài)IP模擬器
 
Urllib模塊提供了一個讀取網(wǎng)頁數(shù)據(jù)的接口,我們可以像讀取本地文件一樣在www和ftp上讀取數(shù)據(jù)。首先,我們定義了一個getHtml()函數(shù):
 
urllib.urlopen()方法用于打開一個URL地址。
 
read()方法用于讀取URL上的數(shù)據(jù),將URL傳遞給getHtml()函數(shù),然后下載整個頁面。執(zhí)行程序會打印出整個網(wǎng)頁。
 
2.過濾頁面數(shù)據(jù)。
 
Python提供了非常強大的正則表達(dá)式,所以我們需要先了解一點Python正則表達(dá)式。
 
如果我們在百度貼吧找到一些漂亮的壁紙,可以查看前面部分的工具。找到圖片的地址,如src = " http://imgsrc . Baidu . com/forum......jpg" pic _ ext = "JPEG "。
 
按如下方式修改代碼:
 
 
我們還創(chuàng)建了getImg()函數(shù),用于過濾獲得的整個頁面中所需的圖片連接。re模塊主要包含正則表達(dá)式:
 
Re.compile()可以將正則表達(dá)式編譯成正則表達(dá)式對象。
 
re.findall()方法讀取html中包含imgre(正則表達(dá)式)的數(shù)據(jù)。
 
運行腳本將獲得整個頁面中包含的圖片的網(wǎng)址。
 
3.保存數(shù)據(jù)。
 
通過for循環(huán)遍歷過濾后的圖片地址,并將其保存在本地。代碼如下:
 
動態(tài)IP模擬器
 
這里的核心是使用urllib.urlretrieve()方法直接將遠(yuǎn)程數(shù)據(jù)下載到本地。
 
通過for循環(huán)遍歷獲得的圖片連接,重命名圖片文件名以使其看起來更標(biāo)準(zhǔn),并通過x變量為命名規(guī)則添加1。默認(rèn)情況下,保存位置是存儲程序的目錄。當(dāng)程序運行時,您將在目錄中看到本地下載的文件。
 
以上是爬蟲抓取網(wǎng)頁數(shù)據(jù)的案例分享。如今大數(shù)據(jù)時代,數(shù)據(jù)很多,需要收集足夠的數(shù)據(jù)進行分析,結(jié)果才會有價值。爬蟲抓取數(shù)據(jù)時,要記得使用代理IP,這樣可以讓爬蟲高效抓取數(shù)據(jù),在更短的時間內(nèi)產(chǎn)生結(jié)果。找代理IP,IP模擬器代理很好,不僅可以使用全國IP地址,而且是高度匿名的,而且效果更好。
 
主站蜘蛛池模板: 老司机久久影院| 一本大道一卡2卡三卡4卡麻豆| 欧美顶级aaaaaaaaaaa片| 午夜精品不卡电影在线观看| 陈冰的视频ivk| 国产日韩精品在线| 18禁男女爽爽爽午夜网站免费 | 国产xxxx视频在线观看| 99热精品久久只有精品| 巨胸喷奶水视频www免费视频| 久久久91精品国产一区二区 | 在线一区二区三区| 久久久亚洲av波多野结衣| 最近高清中文国语在线观看| 亚洲无码一区二区三区| 美女张开腿黄网站免费| 国产又粗又猛又爽又黄的免费视频| 亚洲国产成人99精品激情在线| 国产精品永久免费视频| 9999热视频| 在线|一区二区三区| a毛片免费播放全部完整| 好大好硬好爽免费视频| 一级毛片免费在线| 成人欧美一区二区三区小说| 中文字幕视频在线| 无码日韩精品一区二区免费暖暖| 久久精品无码专区免费| 最好看免费中文字幕2019| 亚洲av无码电影网| 欧美丰满白嫩bbwbbw| 亚洲国产91在线| 秋霞免费一级毛片| 国产四虎免费精品视频| 免费网站无遮挡| 国产极品视觉盛宴| 1024视频在线| 国产真实乱人视频| 亚洲sss综合天堂久久久| 国产精品19p| 欧美精品综合一区二区三区|