我是靠谱客的博主 大气电脑,最近开发中收集的这篇文章主要介绍爬虫小白第一篇 西刺代理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

爬取西刺代理流程图

这里写图片描述

背景

  1. 环境:python3.6
  2. 模块:
    1. urllib.request(获取html)
    2. chardet(判断html的编码)
    3. bs4.Beautiful(提取代理IP)
  3. github地址(https://github.com/tonyxinminghui/spider/blob/master/xici_spider.py)

获取html

难点
  1. 选择用什么模块获取html
  2. 西刺代理的网址不伪造header是无法获取正确的html的。一般会返回503
  3. python3内存中字符串的编码是Unicode的形式,我们一般获取的html都是编码过的,我们需要解码。
  4. 3引出4,如何判断html的编码。
解决方案
  1. 由于自己异常稀少的知识储量,选择了urllib.request(PS:网上大家都说requests是为人类写的模块,很多方法名都很人性化,可惜我不是很熟悉,以后有机会可以,用request重写一下。)

  2. 有关伪造header,urllib.request中相关的接口是
    class urllib.request.Request(url[, data][, headers][, origin_req_host][, unverifiable])
    这里列一下header的形式,具体接口参数,详见参考

    forged_header = {
    'User-Agent': XXXX,
    'Referer'   : XXXX,
    'Host'

最后

以上就是大气电脑为你收集整理的爬虫小白第一篇 西刺代理的全部内容,希望文章能够帮你解决爬虫小白第一篇 西刺代理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部