链接:https://pan.baidu.com/s/14OMqMjZPeMum8JKfajXZZA 提取码:ma5v伸手党的福利,这是爬虫的文件,运行qcc.py,另个py文件是用来拖动验证码的程序需要输入的是一个公司名称的列表文件,由于我也是初学,所以程序写的一般,大家凑合看吧。
下面是爬虫的相关背景以及思路介绍:同学在证券公司上班,需要企查查的一些信息,他给了我一个公司名称的表格,找我帮忙做一个公司信息的表格,我觉得可以用爬虫解决这个问题,就写了这个程序爬虫首先就是看一下网站的结构,随便打开一个企业详情:。
电脑端网页华为技术有限公司电话和邮箱信息都被隐藏了,必须登录才能展示,于是乎,我用Python+selenium写了很多模拟登录的代码,各种跳转,最后使用微博登录(很多爬虫都是这么干的)写完了发给同学,账号登录就算登录上也不稳定,在我电脑上没毛病的,到他那一堆毛病。
电话和邮箱依旧不好使此事搁置了许久直到有一天我发现了新大陆http://m.qichacha.com/这是企查查的手机端网页目前电脑端的反爬虫已经很完善了,手机端的网页稍弱些,很多网站都有自己的手机端网页,我成功爬取的有:美团、携程、京东。
手机端网页的url获取的问题,你直接在手机的浏览器里百度搜索,相关网站,点进去就是网址了。
手机端网页华为技术有限公司(手机端网页)你没有看错直接进来所有的信息都在这呢你以为你用requests就可以了?,url是啥http://m.qichacha.com/firm_6b242b475738f45a4dd180564d029aa9.shtml。
后面的这一大串应该是MD5的加密代码,有js基础的同学可以尝试去网页里面弄一个加密代码出来,如果你和我一样是个js代码的小白,只能靠Python+selenium了看一下上一级的页面:
手机端搜索网页搜索页面看下urlhttp://m.qichacha.com/search?key=%E5%8D%8E%E4%B8%BA%E6%8A%80%E6%9C%AF%E6%9C%89%E9%99%90%E5%85%AC%E5%8F%B8
这一长串是个啥?
url在线解码网站python内置的库也可以解决这个问题from urllibimport parseid = parse.quote(ID)#可以把汉字转化成网页加密的url,https://www.cnblogs.com/lisa2016/p/11474061.html#参考下大佬的文章
之后你使用get是不是就可以让浏览器访问了?并不行,会出现404,为啥大概是因为cookies吧那咋办呢?在访问你的网页前先访问一下企查查主页:http://m.qichacha.com/一次就好,剩下的你只需要把你要访问的公司名称编码以后一直访问搜索页面然后选择第一个点进去就好了。
好了?万恶的反爬虫又来了当你访问了十几个地址之后,就访问不出内容了太难了然后我们怎么做跳回企查查主页点击主页下方推荐的第一个公司,会出来验证码,验证过后就可以继续爬取了,此处的验证码文件我使用的是,网上一位大佬的,略作改进(增加了拖动时的上下抖动,原有程序拖动距离计算不准确),大概拖动三次以内就可以通过了。
之后就可以快乐的爬虫了。
还木有评论哦,快来抢沙发吧~