概述
爬取西刺代理流程图
背景
- 环境:python3.6
- 模块:
- urllib.request(获取html)
- chardet(判断html的编码)
- bs4.Beautiful(提取代理IP)
- github地址
(https://github.com/tonyxinminghui/spider/blob/master/xici_spider.py)
获取html
难点
- 选择用什么模块获取html
- 西刺代理的网址不伪造header是无法获取正确的html的。一般会返回503
- python3内存中字符串的编码是Unicode的形式,我们一般获取的html都是编码过的,我们需要解码。
- 3引出4,如何判断html的编码。
解决方案
由于自己异常稀少的知识储量,选择了urllib.request(PS:网上大家都说requests是为人类写的模块,很多方法名都很人性化,可惜我不是很熟悉,以后有机会可以,用request重写一下。)
有关伪造header,urllib.request中相关的接口是
class urllib.request.Request(url[, data][, headers][, origin_req_host][, unverifiable])
这里列一下header的形式,具体接口参数,详见参考forged_header = { 'User-Agent': XXXX, 'Referer' : XXXX, 'Host'
最后
以上就是大气电脑为你收集整理的爬虫小白第一篇 西刺代理的全部内容,希望文章能够帮你解决爬虫小白第一篇 西刺代理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复