1. 程式人生 > 程式設計 >python爬蟲爬取網頁資料並解析資料

python爬蟲爬取網頁資料並解析資料

1.網路爬蟲的基本概念

網路爬蟲(又稱網路蜘蛛,機器人),就是模擬客戶端傳送網路請求,接收請求響應,一種按照一定的規則,自動地抓取網際網路資訊的程式。
只要瀏覽器能夠做的事情,原則上,爬蟲都能夠做到。

2.網路爬蟲的功能

python爬蟲爬取網頁資料並解析資料

網路爬蟲可以代替手工做很多事情,比如可以用於做搜尋引擎,也可以爬取網站上面的圖片,比如有些朋友將某些網站上的圖片全部爬取下來,集中進行瀏覽,同時,網路爬蟲也可以用於金融投資領域,比如可以自動爬取一些金融資訊,並進行投資分析等。

有時,我們比較喜歡的新聞網站可能有幾個,每次都要分別開啟這些新聞網站進行瀏覽,比較麻煩。此時可以利用網路爬蟲,將這多個新聞網站中的新聞資訊爬取下來,集中進行閱讀。

有時,我們在瀏覽網頁上的資訊的時候,會發現有很多廣告。此時同樣可以利用爬蟲將對應網頁上的資訊爬取過來,這樣就可以自動的過濾掉這些廣告,方便對資訊的閱讀與使用。

有時,我們需要進行營銷,那麼如何找到目標客戶以及目標客戶的聯絡方式是一個關鍵問題。我們可以手動地在網際網路中尋找,但是這樣的效率會很低。此時,我們利用爬蟲,可以設定對應的規則,自動地從網際網路中採集目標使用者的聯絡方式等資料,供我們進行營銷使用。

有時,我們想對某個網站的使用者資訊進行分析,比如分析該網站的使用者活躍度、發言數、熱門文章等資訊,如果我們不是網站管理員,手工統計將是一個非常龐大的工程。此時,可以利用爬蟲輕鬆將這些資料採集到,以便進行進一步分析,而這一切爬取的操作,都是自動進行的,我們只需要編寫好對應的爬蟲,並設計好對應的規則即可。

除此之外,爬蟲還可以實現很多強大的功能。總之,爬蟲的出現,可以在一定程度上代替手工訪問網頁,從而,原先我們需要人工去訪問網際網路資訊的操作,現在都可以用爬蟲自動化實現,這樣可以更高效率地利用好網際網路中的有效資訊。

3.安裝第三方庫

在進行爬取資料和解析資料前,需要在Python執行環境中下載安裝第三方庫requests。

在Windows系統中,開啟cmd(命令提示符)介面,在該介面輸入pip install requests,按回車鍵進行安裝。(注意連線網路)如下圖

python爬蟲爬取網頁資料並解析資料

安裝完成,如圖

python爬蟲爬取網頁資料並解析資料

4.爬取淘寶首頁

# 請求庫
import requests
# 用於解決爬取的資料格式化
import io
import sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8')
# 爬取的網頁連結
r= requests.get("https://www.taobao.com/")
# 型別
# print(type(r))
print(r.status_code)
# 中文顯示
# r.encoding='utf-8'
r.encoding=None
print(r.encoding)
print(r.text)
result = r.text

執行結果,如圖

python爬蟲爬取網頁資料並解析資料

5.爬取和解析淘寶網首頁

# 請求庫
import requests
# 解析庫
from bs4 import BeautifulSoup
# 用於解決爬取的資料格式化
import io
import sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf-8')
# 爬取的網頁連結
r= requests.get("https://www.taobao.com/")
# 型別
# print(type(r))
print(r.status_code)
# 中文顯示
# r.encoding='utf-8'
r.encoding=None
print(r.encoding)
print(r.text)
result = r.text
# 再次封裝,獲取具體標籤內的內容
bs = BeautifulSoup(result,'html.parser')
# 具體標籤
print("解析後的資料")
print(bs.span)
a={}
# 獲取已爬取內容中的script標籤內容
data=bs.find_all('script')
# 獲取已爬取內容中的td標籤內容
data1=bs.find_all('td')
# 迴圈列印輸出
for i in data:
 a=i.text
 print(i.text,end='')
 for j in data1:
  print(j.text)

執行結果,如圖

python爬蟲爬取網頁資料並解析資料

6.小結

在對網頁程式碼進行爬取操作時,不能頻繁操作,更不要將其設定成死迴圈模式(每一次爬取則為對網頁的訪問,頻繁操作會導致系統崩潰,會追究其法律責任)。

所以在獲取網頁資料後,將其儲存為本地文字模式,再對其進行解析(不再需要訪問網頁)。

以上就是python爬蟲爬取網頁資料並解析資料的詳細內容,更多關於python爬取網頁資料並解析的資料請關注我們其它相關文章!