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)

这段代码,仅仅是抓取了第一页的信息,并没有加上循环去抓取其他页面,感兴趣的朋友,可以自己补全。


分享到:


相關文章: