python爬虫教程零基础python爬虫教程pptpython爬虫教程 xpath
下载地址 https://share.weiyun.com/0UhC6msn
资料目录 30个小时搞定Python网络爬虫视频课程(全套详细版) Python网络爬虫工程师系列培训视频课程(65集全) 廖雪峰商业爬虫(含课件、案例和练习) 零基础Python实战 四周实现爬虫网站 《Python 3网络爬虫开发实战 》崔庆才著.pdf 《Python网络爬虫从入门到实践》 庄培杰编著.pdf Python 3爬虫、数据清洗与可视化实战_零一等编著.pdf Python3网络爬虫数据采集 陶俊杰 翻译.pdf Python爬虫开发与项目实战 范传辉 编著.pdf Python爬虫大数据采集与挖掘-微课视频版 曹剑平 编著.pdf python网络爬虫从入门到实践 唐松等.pdf 网络爬虫-Python和数据分析 王澎著.pdf 用Python写网络爬虫 李斌 翻译.pdf 自己动手写网络爬虫 罗刚等 编著.pdf Python项目案例开发从入门到实战:爬虫、游戏和机器学习 by 郑秋生 夏敏捷 举例 抓取二进制文件 直接把二进制文件写入文件即可,代码示例如下: import urllib.request pic_url = "https://www.baidu.com/img/bd_logo1.png" pic_resp = urllib.request.urlopen(pic_url) pic = pic_resp.read() with open("bd_logo.png", "wb") as f: f.write(pic) 代码执行结果如下: ... urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1045)> 结果并没有像我们预期那样把图片下载下来,而是发生了报错,原因是当 urlopen()打开一个 HTTPS 链接时,会验证一次 SSL 证书,当目标网站使用的是自签名的证书时,就会报这样的错误。解决这个错误有以下两种方法。 import ssl # 方法一:全局取消证书验证 ssl._create_default_https_context = ssl._create_unverified_context # 方法二:使用ssl创建未经验证的上下文,在urlopen()中传入上下文参数 context = ssl._create_unverified_context() pic_resp = urllib.request.urlopen(pic_url,context=context) 选择其中一种方法加入代码中,代码执行后就可以看到百度的图标被下载到本地了。 另外,还可以调用 urllib.request.urlretrieve()函数直接进行下载,代码示例如下: urllib.request.urlretrieve(pic_url, 'bd_logo.png')
修改请求头 有一些站点为了避免有人使用爬虫恶意抓取信息,会进行一些简单的反爬虫操作,比如通过识别请求头里的 User-Agent 来检查访问来源是否为正常的访问途径,还可检查 Host请求头等,我们可以修改请求头来模拟正常的访问。Request 中有个 headers 参数,可通过如下两种方法进行设置: (1)把请求头都塞到字典里,在实例化 Request 对象的时候传入; (2)通过 Request 对象的 add_header()方法一个个添加。 代码示例如下: import urllib.request # 修改请求头信息 novel_url = "http://www.biqukan.com/1_1496/" headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) ' 'AppleWebKit/537.36 (KHTML, like Gecko)' ' Chrome/63.0.3239.84 Safari/537.36', 'Referer': 'http://www.baidu.com', 'Connection': 'keep-alive'} novel_req = urllib.request.Request(novel_url, headers=headers) novel_resp = urllib.request.urlopen(novel_req) print(novel_resp.read().decode('gbk')) 代码执行结果如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gbk" /> <title>龙王传说最新章节_龙王传说无弹窗_笔趣阁</title> <meta name="keywords" content="龙王传说,龙王传说最新章节" /> ...
|