特别关注
以“长春长生疫苗”为搜索关键词,爬取百度新闻,练习Python爬虫基本技术,追踪事件进展。
了解更多,请阅读我的原创推文:
1
R语言网页数据采集(传送门)
2
Python入门(传送门)
爬虫实战:
1
准备工作:在百度新闻搜索“长春长生疫苗”,获得有关网页;查看网页源代码,找到待爬取的新闻标题、发布时间、发布媒体等字段,可以看到“c-title”“c-author”的标签为h3和p字头;注意,百度新闻搜索的最大页码为38页,循环语句不能超过最大页码:
2
代码示例:以下代码可以用作爬取百度新闻网页的套路,对其它关键词,只需改换网址即可;以下代码基于Python 3.6,使用Python 2的工作者,请将打印语句print中的英文括号去除:
# coding:utf-8
# 引入相关模块
import requests
from bs4 import BeautifulSoup
s = requests.session()
# 循环语句解决分页问题
for k in range(1,38):
# 待抓取的网址
url = 'http://news.baidu.com/ns?word=长春长生疫苗&tn=news&from=news&cl=2&rn=20&ct=1'
content = s.get(url)
# 使用BeautifulSoup解析html
soup = BeautifulSoup(content.text, 'html.parser')
for tag in soup.find_all('div', class_='result'):
print (tag.h3.text, tag.p.text)
print ("第" + str(k) + "页完成")
3
网页自动采集效果:
领取专属 10元无门槛券
私享最新 技术干货