Python访问天眼查

news/2024/12/11 17:16:08/

还是今年暑假实习,老板让爬公开的企业联系方式数据,还对天眼查这个网站青眼有加。大家都知道,从不知什么时候开始,政府的企业信用公开平台采取了反爬措施,每次搜索都需通过机器人验证,而很多其他的企业信息公开平台(如天眼查等)都是在这之前从政府网站爬取数据的。

 

于是乎,博主开始勤勤恳恳撸代码马上百度一下,看看哪位大牛已经成功爬取天眼查并大公无私地分享了自己的代码。一般出名网站如58同城,百度地图都有大把成功先例,天眼查也不例外。博主搜索到如下资源(博主不生产代码,只是代码的搬运工,请叫我雷锋):

 

1/ Github上天眼查爬虫项目

https://github.com/guapier/tianyancha(关键词:phantomjs,xpath)

https://github.com/felixglow/Tianyancha(关键词:scrapy)

https://github.com/haijunt/tianyancha_example(关键词:scrapy, splash)

https://github.com/kestiny/PythonCrawler(关键词:phantomjs)

 

2/ 各类博客

https://ask.hellobi.com/blog/jasmine3happy/6200(关键词:selenium, phantomjs)

http://blog.csdn.net/chlk118/article/details/52937671(关键词:phantomjs)

https://sanwen.net/a/njbicqo.html(关键词:utm,token)

http://www.bubuko.com/infodetail-1917809.html(关键词:utm, token)

 

以上大概是博主写脚本之前所作的背景资料搜索工作了。

由于博主基础薄弱,没有Linux系统,不会VBA,天眼查系统升级老代码不可用等等千奇百怪的理由,以上最终都没能派上用场……

 

于是乎,博主自己琢磨了一下:

首先通过手机号登录,随便搜索一个关键词,譬如“百度”,返回界面中右键检查(Chrome)。

 

选择Network(网络),此时刷新界面,可以知道页面加载中发送的请求及返回的文件,如下图所示。


点击第一个Type是document的文件,可以查看具体的请求头。



非常直观的想法就是将请求头中各个参数通过Python Request函数与url一起发送。于是就有如下代码:

 

#-*- coding: utf-8 -*-
import time
import sys
import urllib
import requestsdef main():headers = {'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8','Accept-Encoding':'gzip, deflate','Accept-Language':'zh-CN,zh;q=0.8,en;q=0.6,ja;q=0.4,zh-TW;q=0.2','Connection':'keep-alive','DNT':'1','Host':'www.tianyancha.com','Referer':'http://www.tianyancha.com/search?key=%E7%99%BE%E5%BA%A6&checkFrom=searchBox','Upgrade-Insecure-Requests':'1','User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'}cookies = {'aliyungf_tc':'AQAAAInSEClDxQUAftHidO+PzCmdPZot','ssuid':'3986673831','bannerStorageV2':'%22false%22','_pk_ref.1.e431':'%5B%22%22%2C%22%22%2C1498801845%2C%22https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3Do5N6sHrB-gmAwl5M4IyAj3G-5IwlRrODDLv9KztH10ivG8HhNHkgDVgRGREFnnDo%26wd%3D%26eqid%3D857f04a80002baa6000000045955e633%22%5D','token':'0be5e638129c4f31b919a967874008b9','_utm':'d6268574eb574651adf74cccc7544227','_pk_id.1.e431':'c993f4ee7aa80f31.1498532324.2.1498803205.1498801845.' ,'paaptp':'ac2b22f83d9dd0dd86d47a0ed395ab25daf20e81e80534fe7315cf7a1f2fb','csrfToken':'mVLfAuO0VxQSUCvQ1Iip_cGu', 'TYCID':'8b7b7d5061f411e7bd5589439b03dd9e','uccid':'17cd6a2a4cf16ac20363e1b85bee6b90','tyc-user-info':'eyJuZXciOiIxIiwidG9rZW4iOiJleUpoYkdjaU9pSklVelV4TWlKOS5leUp6ZFdJaU9pSXhNekU0TkRNNU1EazROeUlzSW1saGRDSTZNVFE1T1RNd09EazRNaXdpWlhod0lqb3hOVEUwT0RZd09UZ3lmUS5TSENlRksweGdnd09UcEtDUnlpNXVpTFg4UVBwbXZJNmFOUi1ITjhCbVltNEZaT0hTeDhENDJJQ3E0T295c1ZFSVppRHEya2ZEZElmSGpsaFF5dV9ydyIsInN0YXRlIjoiMCIsInZudW0iOiIwIiwib251bSI6IjAiLCJtb2JpbGUiOiIxMzE4NDM5MDk4NyJ9','bannerFlag':'true','Qs_lvt_117460':'1499308873%2C1499309809%2C1499390608','_csrf':'N/4TCyFkbN17DmLl2qSx+Q==','OA':'F6nGwYzI0K34U50NUXjCQ/RdisJkPVhyuvaz/ULhAdH9wGFBF+oY9SNo41xfg8ChEnKmkDW9KccidaKN4NUM7RY0fvt6ry12S005VjpHV9M=', '_csrf_bk':'ababd67a90e3e88a85e813986cb58d6b', 'Hm_lvt_e92c8d65d92d534b0fc290df538b4758':'1498532730,1498801845,1499308866,1499309809', 'Hm_lpvt_e92c8d65d92d534b0fc290df538b4758':'1499400842','Qs_pv_117460':'1553841720118954500%2C1189009320365233400%2C4541963271723247600%2C1868246178729382000%2C1343361850682038000'}keyword = '百度' #要搜索的公司startUrl = 'http://www.tianyancha.com/search?key=%s&checkFrom=searchBox' % urllib.quote(keyword)resultPage = requests.get(startUrl, headers= headers, cookies = cookies) #在请求中设定头,cookietime.sleep(10)with open('tyc_demo.txt','w') as of:of.write(resultPage.text)if __name__ == '__main__':reload(sys)sys.setdefaultencoding('utf-8')main()

打印出的结果在文件中,查看发现就是我们所希望的搜索结果列表。这是实现爬虫脚本的第一步,获取所需要的html后,用BeautifulSoup函数作成汤也好,或者用xpath解析也好,都可以获得页面中所有搜索结果公司的超链接。

 

 


http://www.ppmy.cn/news/789500.html

相关文章

d3 企业图谱 仿天眼查 企查查

最近接到一个需求,终端要加入企业图谱的功能、能无线穿透下去,之前写过一个类似树形图但是节点长度没有自适应(如下图),样式也不够好看,产品提出做一个类似企查查那种的企业图谱,能更直观的展示…

仿企查查、天眼查股权穿透d3

企业图谱做出来了,接下来仿企查查写个股权穿透的图谱 企查查股权穿透 自己的 首先使用的方法以及生成图的方法 跟企业图谱类似 也是用的d3官方demo给出的生成双向树的方法,不过版本是d3.v3 相比企业图谱 股权穿透就简单了,不需要计算文字长…

python天眼查爬虫_普通用户的天眼查爬取

[Python] 纯文本查看 复制代码#-*- coding:utf-8 -*- import requests from lxml import etree import json import time import random from copy import deepcopy class Tianyan(): def __init__(self): self.url https://www.tianyancha.com/search/ola3/p{}?key%E6%B2%A7…

JAVA爬虫天眼查、启信宝...企业信息查询网站

闲来无事,做个快速收集企业信息导出Excel表的程序。所以...嘿嘿,开始对天眼查进行研究,废话不多说。 一、天眼查网站地址:https://www.tianyancha.com,到天眼查网站后例如:查询关键字:教育&…

天眼查 Authorized和企查查 sign破解

目前天眼查、企查查APP均使用了ndk 天眼查 很早之前研究的。。。 1.使用爱加密进行加固 2.使用爱加密so,sm4进行加密 3.Authorized使用imei、设备id等作为验证 4.Authorized大概5分钟过期 5.抓包可以使用手机端抓包工具和justtruestme 6.破解Authorized&#xff0…

爬虫-天眼查数据

前两天收到一个公司的笔试题: 从结果页面中提取股东信息,如:http://www.tianyancha.com/company/9519792 中展示的”许晨晔”等姓名 oh 我还不会爬虫,吓的我赶紧刷了刷知乎,找到一个例子,大体是个模板&am…

采集天眼查的10个经典方法

天眼查的企业数据、工商信息、法人号码、人员名录、网页抓取数据、网页爬虫、采集网站数据、网页数据采集软件、python爬虫、HTM网页提取、一站式网站采集技术、BI数据的数据分析、数据标注等成为大数据发展中的热门技术关键词。那么采集天眼查数据的方法有哪些呢?我…

天眼查pc端公司信息抓取

本篇查询的是人工智能前5页相关公司的信息: #主要是异常处理和反爬处理 1.异常处理就是有的公司不是公开的数据没有所以需要判断,不然程序会出错 2.反爬页面浏览多了会需要登录,这边用cookie处理 import requests from lxml import etreegs[…