python爬虫Pragmatic系列IV
By 白熊花田(http://blog.csdn.net/whiterbear)
说明:
在上一篇博客中,我们已经做到了从赶集网上单个首页中抓取所有的链接,并下载下来,分析后存入Excel中。
本次目标:
在本节中,我们将使用python多线程技术从赶集网上抓取链接并分析,注意,我们这次能够抓获的链接数目可以远远大于上一篇博客中抓获的。
分析:
用爬虫统计信息那自然数据越多越好,为了获取更多的数据,我们先研究下如何打开上千个赶集网上公司链接。
打开首页(http://bj.ganji.com/danbaobaoxian/o1/),在页面底部能够看到一排分页,如下图:
简单分析可以发现其分页链接请求是由A+B形式组成的,A为(http://bj.ganji.com/danbaobaoxian/),而B为(oi),其中i为数字。经过验证后发现,i的范围为:[1,300+)。由此,我们就可以利用以上的链接去访问各个首页并获得各个首页中包含的公司页面链接。但是问题来了,一个首页上公司共有九十多家,假设我们抓取十个主页面上公司的链接,每个公司从下载到分析到写入Excel假设需要0.2s,那么共需要180s(=0.2*10*90)。而且当网速差的时候,所需要的时间会更长。由此,我们需要多线程来处理该问题。
学习python多线程可以看这里:w3cshoolPython多线程。