利用python爬虫抓取天眼查企业信息数据,反反爬虫的一些实践

需求是这样的:有上千条公司名称,需查询(通过企查查、启信宝、天眼查等途径)对应公司的法人名称、注册时间、注册资本、企业状态、电子邮箱、电话、网址、地址、工商注册号、组织机构代码、统一信用代码、企业类型、纳税人识别号、行业、营业期限、核准日期、登记机关、注册地址、英文名称等信息,如是事业单位还需额外查询举办单位、经费来源、宗旨和业务范围、住所等,如是社会团体需额外查询组织类型、业务主管单位等。

看起来还是蛮简单,思路不过就是将数据逐条读出,利用天眼查查询得到公司信息列表(一条或多条),获取链接,进入公司详细信息页面,搜寻想要的内容即可。

此处使用的是天眼查,就是那个号称「财政部所设国家中小企业发展基金旗下」的天眼查,念起来虽然有点拗口,但确实是我用过最好用的企业工商信息查询平台。天眼查提供的不登陆即可查询,登陆用户每日两次 VIP 功能使用权,秒杀某信宝,某查查。

天眼查的市场看到这篇文章,不要着急呼叫火力,让我吃不了兜着走啊,第一这是帮你打广告,免费的,第二越多人看到越多人用,在不影响、不占用你过多资源的情况下,是好事。

说回正题,其实这里面的重点难点就是天眼查会反爬虫。他们有专门的反爬虫工程师,这家以爬取别人数据起家的公司,怎会让你轻易爬到。

就问你怕不怕。

还不赶快去乖乖买他五毛钱的 API 接口?

道高一尺我高一丈,经过多次尝试,还是给我总结出了一个简便但是实用的小技巧。

这个方法不适合百万及以上量级的爬虫,但是几千几万的数据量,还是够用。经我实测,使用这个方法,我爬1000多条数据,中间没有被打断,没有使用代理 IP,也没有要求输验证码。

具体是怎么操作?

其实很简单。

在谷歌浏览器下载一个定时刷新插件,商店很多,我下的是super auto refresh,然后随便找个天眼查页面,开个定时刷新。

python里,我用的是Requests,把浏览器cookie复制出来,然后就可以像往常一样通过headers参数模拟浏览器了。

就是这么简单,没什么技术含量。突然想到这个方法,一试,竟然真行。

在其他地方的效果怎么样,还没测试过,以后有机会再用一下。

代码很粗糙,此处就再不贴出。