emm……真实的高三暑假是,整天无事可做然后找事,于是开始学习Python
好的废话不多说,进入正题
由题,作为一名初学者,想要玩转爬虫这类玩意还要花很大功夫。
所以我就从简单的开始:提取XKCD漫画(网页简单,提取方便)
使用 requests 和 bs4 模块提取网页内容+分析html,然后再存入硬盘内
首先,requests 和 bs4 都是 Python 的第三方库,使用 pip install xxx(xxx 是 requests 和 bs4)安装它们
requests 库最主要的方法是 requests.get(),根据指定的 url 提取超链接指向的内容,可以附带其他的一些参数来达到特定的目的
比如,传入 timeout = 10 可以使得 连接和读取超时的时间为 10s,超时会报错
(用法:get(url, params=None, **kwargs),**kwargs为可变参数,包含了timeout等)
这个网站很慢而且不稳定,时常有连接不上的问题,为了防止爬虫卡死,加入了重试的代码:
import requests, bs4
url = "http://xkcd.com"
downloadCount = 0 # 下载的图片文件计数
def get_elements(link, tle=10): # tle:超时时间
count = 1 # count:尝试访问网页的次数
# 访问成功则返回requests.get()取得的值,超过3次失败则抛出异常
while count <= 3:
try:
res = requests.get(link, timeout=tle)