本图文配套视频演示
爬取网站的步骤:
设定爬取目标
目标网站:我自己的博客,疯狂的蚂蚁 http://www.crazyant.net
目标数据:所有博客文章的 – 链接、标题、标签
2. 分析目标网站
爬取页面
http://www.crazyant.net/page/1 ~ http://www.crazyant.net/page/24
待爬取数据:HTML元素中的h2 class=entry-title下的超链接的标题和链接,标签列表
3. 批量下载HTML
使用requests库实现下载
官网:https://2.python-requests.org//zh_CN/latest/user/quickstart.html
4. 实现HTML解析,得到目标数据
使用BeautifulSoup库解析
官网:https://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/
5. 将结果数据存储
可以使用json.dumps把这个数据序列化存储
也可以将数据存入MySQL
importrequests
frombs4importBeautifulSoup
importpprint
importjson
1、下载所有的页面的HTML
defdownload_all_htmls():
“””
下载所有列表页面的HTML,用于后续的分析
“””
htmls=[]
foridxinrange(24):
url=f”http://www.crazyant.net/page/{idx+1}”
print(“craw html:”,url)
r=requests.get(url)
ifr.status_code!=200:
raiseException(“error”)
htmls.append(r.text)
returnhtmls
# 执行爬取
htmls=download_all_htmls()
craw html:http://www.crazyant.net/page/1
craw html:http://www.crazyant.net/page/2
craw html:http://www.crazyant.net/page/3
craw html:http://www.crazyant.net/page/4
craw html:http://www.crazyant.net/page/5
craw html:http://www.crazyant.net/page/6
— 省略很多行
craw html:http://www.crazyant.net/page/21
craw html:http://www.crazyant.net/page/22
craw html:http://www.crazyant.net/page/23
craw html:http://www.crazyant.net/page/24
htmls[0]
‘
疯狂的蚂蚁 – 视频公众号:蚂蚁学Python