当前位置: > python爬虫 >

使用python爬取西刺代理
栏目分类:python爬虫   发布日期:2019年03月19日 19:24:20   浏览次数:

大家好,我是爱吃苹果的宇文拓,今天我给大家带来的是如何爬取西刺代理网站


        我们在爬虫的时候,如果我们请求某个网站过于频繁,网站就会识别出我们是非正常访问,然后就会对我们的ip进行限制,当我们再次访问该网站的时候,服务器就会拒绝我们的访问。因此我们就无法抓取到我们想要的信息,这时我们就可以选择使用代理ip,以此来伪装我们的ip地址。要使用代理ip,我们肯定必须要有可用的代理ip吧。这里我推荐一个免费的代理ip网站,西刺代理。我们将使用python抓取该网站下一些代理ip,然后保存下来。供我们以后爬虫的使用。


1.分析网页结构

 西刺代理网址为:https://www.xicidaili.com/?tdsourcetag=s_pctim_aiomsg,打开网址可用看到 如下的页面。




我们打开开发者工具开始分析该页面的网页结构。这里我们要抓取的是代理ip地址项、端口项以及类型。



2.开始抓取代理ip信息

        如上图,我们可以看到我们要爬取的信息被存放在一个id为“ip_list”的一个table标签里面的tr项。我们只想要抓取这里tr标签然后获取相应的信息,并正确的存放到合适的数据结构中就行了。这里我们抓取高匿代理这一栏。







        如上图我们先定义了西刺代理的网址,然后定义的headers,添加了user-agent参数,经测试不添加user-agent这一栏服务器返回的是503.。然后我们使用lxml库来将获取的网页源码,变成lxml对象。这样我们就可以使用xpath来解析网页了。通过借助浏览器分析,我们知道了我们所需抓取信息的网页结构,最后利用xpath获取到我们想要的信息即可。运行结果如下。



3.存储代理ip

    接下来我们将我们抓取的到代理ip存入txt文档中去。




如上图是将ip信息写入文件操作。ip.txt文件的内容如下:



总结:我们今天介绍了关于我们在爬去目标网址ip被封的解决方案,我们抓取了西刺代理网站的一些ip地址,然后存入txt文件中去。但是想象是美好的,现实是残酷的。因为我们抓取的代理ip是免费的。所以这些代理ip不一定都能用,所以我们后续还应该写一个检测机制,实时检测我们抓取到的ip,然后保留可用的ip地址,这样会提高我们爬虫的效率。

相关热词:

相关内容
热门关键词
     
python教程 python爬虫 python人工智能 Python+大数据 python问答