當前位置:首頁 » 編程語言 » python數據爬取

python數據爬取

發布時間: 2024-07-25 04:53:07

python爬蟲是幹嘛的

爬蟲技術是一種自動化程序。

爬蟲就是一種可以從網頁上抓取數據信息並保存的自動化程序,它的原理就是模擬瀏覽器發送網路請求,接受請求響應,然後按照一定的規則自動抓取互聯網數據。

搜索引擎通過這些爬蟲從一個網站爬到另一個網站,跟蹤網頁中的鏈接,訪問更多的網頁,這個過程稱為爬行,這些新的網址會被存入資料庫等待搜索。簡而言之,爬蟲就是通過不間斷地訪問互聯網,然後從中獲取你指定的信息並返回給你。而我們的互聯網上,隨時都有無數的爬蟲在爬取數據,並返回給使用者。

爬蟲技術的功能

1、獲取網頁

獲取網頁可以簡單理解為向網頁的伺服器發送網路請求,然後伺服器返回給我們網頁的源代碼,其中通信的底層原理較為復雜,而Python給我們封裝好了urllib庫和requests庫等,這些庫可以讓我們非常簡單的發送各種形式的請求。

2、提取信息

獲取到的網頁源碼內包含了很多信息,想要進提取到我們需要的信息,則需要對源碼還要做進一步篩選。可以選用python中的re庫即通過正則匹配的形式去提取信息,也可以採用BeautifulSoup庫(bs4)等解析源代碼,除了有自動編碼的優勢之外,bs4庫還可以結構化輸出源代碼信息,更易於理解與使用。

3、保存數據

提取到我們需要的有用信息後,需要在Python中把它們保存下來。可以使用通過內置函數open保存為文本數據,也可以用第三方庫保存為其它形式的數據,例如可以通過pandas庫保存為常見的xlsx數據,如果有圖片等非結構化數據還可以通過pymongo庫保存至非結構化資料庫中。

⑵ 濡備綍鐢╬ython鐖鍙栫綉絝欐暟鎹

鐢╬ython鐖鍙栫綉絝欐暟鎹鏂規硶姝ラゅ備笅錛

1.棣栧厛瑕佹槑紜鎯寵佺埇鍙栫殑鐩鏍囥傚逛簬緗戦〉婧愪俊鎮鐨勭埇鍙栭栧厛瑕佽幏鍙杣rl,鐒跺悗瀹氫綅鐨勭洰鏍囧唴瀹廣

2.鍏堜嬌鐢ㄥ熀紜for寰鐜鐢熸垚鐨剈rl淇℃伅銆

3.鐒跺悗闇瑕佹ā鎷熸祻瑙堝櫒鐨勮鋒眰(浣跨敤request.get(url)),鑾峰彇鐩鏍囩綉欏電殑婧愪唬鐮佷俊鎮(req.text)銆

4.鐩鏍囦俊鎮灝卞湪婧愪唬鐮佷腑,涓轟簡綆鍗曠殑鑾峰彇鐩鏍囦俊鎮闇瑕佺敤Beautifulsoup搴撳規簮浠g爜榪涜岃В鏋愶紝鍥犱負鏄痟tml淇℃伅錛岄噰鐢╤tml.parser鐨勬柟寮忚繘琛岃В鏋愩

5.闅忓悗瑕佸湪婧愮綉欏典腑榪涗竴姝ュ畾浣嶇洰鏍囦俊鎮鍦ㄧ綉欏墊簮浠g爜涓鐨勪綅緗錛氬湪緗戦〉涓璅12閿錛屾煡鐪嬪厓緔犱俊鎮錛屼嬌鐢ㄥ乏涓婅掔殑鎸夐挳榪涗竴姝ユ煡鐪嬬洰鏍囦俊鎮浣嶇疆銆

6.浣跨敤beautifululsoup榪涗竴姝ュ畾浣嶆簮浠g爜淇℃伅銆

7.鏈鍚庝嬌鐢ㄥ驚鐜鍙栧嚭鍗曚釜鍏冪礌淇℃伅銆傞栧厛鍒嗘瀽鍗曚釜淇℃伅鐨勪綅緗錛氬畠鍦╱l鍒楄〃涓嬶紝浣跨敤寰鐜鍙栧嚭鐒跺悗瀹氫綅鍗曚釜鍏冪礌涓淇℃伅鐨勪綅緗錛屽苟鍙栧嚭淇℃伅銆

8.鏈緇堝氨寰楀埌鐩鏍囦俊鎮鍒楄〃浜嗐

⑶ 如何通過網路爬蟲獲取網站數據

這里以python為例,簡單介紹一下如何通過python網路爬蟲獲取網站數據,主要分為靜態網頁數據的爬埋山差取和動態網頁數據的爬取,實驗環境win10+python3.6+pycharm5.0,主要內容如下:

靜態網頁數據

這里的數據都嵌套在網頁源碼中,所以直接requests網頁源碼進行解析就行,下面我簡單介紹一下,這里以爬取糗事網路上的數據為例:

1.首先,打開原網頁,如下,這里假設要爬取的欄位包括昵稱、內容、好笑數和評論數:

接著查看網頁源碼,如下,可以看的出來,所有的數據都嵌套在網頁中:

2.然後針對以上網頁結構,我們就可以直接編寫爬蟲代碼,解析網頁並提取出我們需要的數據了,測試代碼如下,非常簡單,主要用到requests+BeautifulSoup組合,其中requests用於獲取網頁源碼,BeautifulSoup用於解析網頁提取數據:

點擊運行這個程序,效果如下,已經成功爬取了到我們需要的數據:

動態網頁數據

這里的數據都沒有在網頁源碼中(所以直接請求頁面是獲取不到任何數據的),大部分情況下都是存儲在一唯唯個json文件中,只有在網頁更新的時候,才會載入數據,下面我簡單介紹一下這種方式,這里以爬取人人貸上面的數據為例:

1.首先,打開原網頁,如下,這里假設要爬取的數據包括年利率,借款標題,期限,金額和進度:

接著按F12調出開發者工具,依次點擊「Network」->「XHR」,F5刷新頁面,就可以找打動態載入的json文件,如下,也就是我們需要爬彎皮取的數據:

2.然後就是根據這個json文件編寫對應代碼解析出我們需要的欄位信息,測試代碼如下,也非常簡單,主要用到requests+json組合,其中requests用於請求json文件,json用於解析json文件提取數據:

點擊運行這個程序,效果如下,已經成功爬取到我們需要的數據:

至此,我們就完成了利用python網路爬蟲來獲取網站數據。總的來說,整個過程非常簡單,python內置了許多網路爬蟲包和框架(scrapy等),可以快速獲取網站數據,非常適合初學者學習和掌握,只要你有一定的爬蟲基礎,熟悉一下上面的流程和代碼,很快就能掌握的,當然,你也可以使用現成的爬蟲軟體,像八爪魚、後羿等也都可以,網上也有相關教程和資料,非常豐富,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。

熱點內容
db2新建資料庫 發布:2024-09-08 08:10:19 瀏覽:170
頻率計源碼 發布:2024-09-08 07:40:26 瀏覽:778
奧迪a6哪個配置帶後排加熱 發布:2024-09-08 07:06:32 瀏覽:100
linux修改apache埠 發布:2024-09-08 07:05:49 瀏覽:208
有多少個不同的密碼子 發布:2024-09-08 07:00:46 瀏覽:566
linux搭建mysql伺服器配置 發布:2024-09-08 06:50:02 瀏覽:995
加上www不能訪問 發布:2024-09-08 06:39:52 瀏覽:811
銀行支付密碼器怎麼用 發布:2024-09-08 06:39:52 瀏覽:513
蘋果手機清理瀏覽器緩存怎麼清理緩存 發布:2024-09-08 06:31:32 瀏覽:554
雲伺服器的優點與缺點 發布:2024-09-08 06:30:34 瀏覽:734