Python爬蟲實踐(9)--爬取鳳凰網汽車資訊

本期為python爬蟲實踐的第九節,傳送門:

本期教程,我們練習抓取鳳凰網汽車頻道資訊信息,算是對之前幾期教程學習的增強訓練,編程這種事情,就是要多練習,多做項目,在實踐中去領悟。廢話不多說,我們開始本期的教程。

Python爬蟲實踐(9)--爬取鳳凰網汽車資訊

python教程

首先我們使用谷歌瀏覽器打開開發者模式,按下F5刷新頁面,通過network下對數據的分析,我們可知,鳳凰網汽車頻道的資訊內容是直接和整體網頁一起加載的,被包含在class樣式為infor_left的div中。

Python爬蟲實踐(9)--爬取鳳凰網汽車資訊

鳳凰網汽車頻道截圖

通過上面的分析,我們編寫以下代碼,先將整個資訊列表信息全部抓取下來。

import requests
from bs4 import BeautifulSoup
headers = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36'
res = requests.get('https://auto.ifeng.com/quanbu/', headers)
res.encoding = 'utf-8'
soup = BeautifulSoup(res.text, 'html.parser')

接著繼續通過開發者工具觀察頁面源代碼,可知標題被包含在class樣式為imgtit的div中,文章發佈的時間包含在class樣式為imgt_tag的div中,文章的概述包含在class樣式為imgt_con的div中。

Python爬蟲實踐(9)--爬取鳳凰網汽車資訊

文章信息提取

import requests
from bs4 import BeautifulSoup
headers = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36'
res = requests.get('https://auto.ifeng.com/quanbu/', headers)
res.encoding = 'utf-8'
soup = BeautifulSoup(res.text, 'html.parser')
news_list = soup.findAll('div', {'class': 'imgtit'})
for news in news_list:
soup_news = BeautifulSoup(str(news), 'html.parser')
news_link = soup_news.a['href']
news_title = soup_news.a.string
print('標題:' + news_title + ' 鏈接:' + news_link)

這段代碼,僅僅是抓取了第一頁的信息,並沒有加上循環去抓取其他頁面,感興趣的朋友,可以自己補全。


分享到:


相關文章: