天眼查数据抓取

正常访问最多获取一页数据,要登录才能获取两页数据,也可以去淘宝花费1,2块买个vip,这样就能获取多条数据了.

我们先随便搜索一个关键词公司

然后先选择一个城市当中一个区

我们正常进来按F12刷新后都会以为是下方接口

确确实实里面有数据,但是有坑.我们网络爬虫一定要细致!!!想想要是我爬第二页或爬别的地区是不是载荷有变化.先说说坑在那吧.

正常这里get请求传header之后就能获取,切记这里别急着bs4解析数据其实在图2里有json数据

只需要进行切片获取到数据进行字符串转json数据就可以键值对提取了

接下来就是开篇了.

其实这里这个接口是错误的,在这里可以这样操作,先清除所有响应数据,然后直接换到第二页

这里就看出来url的不同了,而且是post请求

然后我们查看载荷,不难看出pageNum是换页码的,filterJson里可以改省,市,区

然后复制下面所有请求标头

import requests,json
# -*- coding: utf-8 -*-
url = 'https://capi.tianyancha.com/cloud-tempest/web/searchCompanyV4?_=172855916907'
header = {
    'Accept': 'application/json, text/plain, */*',
    'Accept-Encoding': 'gzip, deflate, br, zstd',
    'Accept-Language': 'zh-CN,zh;q=0.9',
    'Connection': 'keep-alive',
    'Content-Length': '610',
    'Content-Type': 'application/json',
    'Host': 'capi.tianyancha.com',
    'Origin': 'https://www.tianyancha.com',
    'Referer': 'https://www.tianyancha.com/',
    'Sec-Fetch-Dest': 'empty',
    'Sec-Fetch-Mode': 'cors',
    'Sec-Fetch-Site': 'same-site',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36',
    'X-AUTH-TOKEN': 'eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxNTU3NDAxNDAwNSIsImlhdCI6MTcyODM4NTI2MiwiZXhwIjoxNzMwOTc3MjYyfQ.4ANxJ1zURby3gFR4oOmsIQjSAliBNZd9gZLeH00sNS6ovoVTO6bb19uKtwq31dc-oI0DbK1AKBiYsmhZ3jgyNg',
    'X-TYCID': 'a34d0240854711efb7bcefa45e2bcd12',
    'eventId': 'i246',
    'page_id': 'SearchResult',
    'pm': '451',
    'sec-ch-ua': '"Chromium";v="128", "Not;A=Brand";v="24", "Google Chrome";v="128"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"Windows"',
    'spm': 'i246',
    'version': 'TYC-Web',
}

在这里可能就用同学有疑问了.

  • 使用 json 参数时,数据会被序列化为 JSON 格式,适合发送 JSON 数据的场合。
  • 使用 data 参数时,数据以表单形式发送,适合传统的表单提交。
    data = {
        "filterJson": '{"economicTypeMethod":{"key":"economicTypeMethod","items":[{"value":"1"}]},"institutionTypeMethod":{"key":"institutionTypeMethod","items":[{"value":"1"}]},"word":{"key":"word","items":[{"value":"水果"}]},"areaCode":{"key":"areaCode","items":[{"value":"00430000V2020","childList":[{"value":"00430100V2020","childList":[{"value":"00430%dV2020"}]}]}]}}'%102,
        "searchType": 1, "sessionNo": "1728560135.23681122", "allowModifyQuery": 1,
        "reportInfo": {"page_id": "SearchResult", "page_name": "主搜搜索结果页", "tab_id": "company", "tab_name": "公司",
                       "search_session_id": "1728560135.23681122", "distinct_id": "322165439"}, "pageNum": 1,
        "pageSize": 20}
    req = requests.post(url=url,headers=header,json=data).json()
    print(req)

    如果想用data=data传参,就需要进行json格式.

  • data = {
        "filterJson": '{"economicTypeMethod":{"key":"economicTypeMethod","items":[{"value":"1"}]},"institutionTypeMethod":{"key":"institutionTypeMethod","items":[{"value":"1"}]},"word":{"key":"word","items":[{"value":"水果"}]},"areaCode":{"key":"areaCode","items":[{"value":"00430000V2020","childList":[{"value":"00430100V2020","childList":[{"value":"00430%dV2020"}]}]}]}}'%102,
        "searchType": 1, "sessionNo": "1728560135.23681122", "allowModifyQuery": 1,
        "reportInfo": {"page_id": "SearchResult", "page_name": "主搜搜索结果页", "tab_id": "company", "tab_name": "公司",
                       "search_session_id": "1728560135.23681122", "distinct_id": "322165439"}, "pageNum": 1,
        "pageSize": 20}
    data = json.dumps(data)
    req = requests.post(url=url,headers=header,data=data).json()
    print(req)

    看都看到这里,点个关注和赞不过分吧

### 回答1: 天眼询是一家提供企业信息询服务的网站,它提供了丰富的企业数据,包括公司的基本信息、法律诉讼情况、经营状况、财务数据等。如果想要获取天眼询的企业数据,可以使用Java编写一个网络爬虫。 首先,我们需要使用Java的网络爬虫库,例如Jsoup,来向天眼询网站发送HTTP请求,并获取网页的内容。接着,通过解析HTML页面的结构,我们可以提取出需要的企业数据。 在实际操作中,我们可以通过制定一些规则来确定需要爬取哪些企业的数据,可以根据公司名称、行业分类、地理位置等条件进行筛选。然后,我们使用Java的正则表达式或XPath来提取需要的数据,并将其保存到本地的文件或数据库中。 为了保证爬取的效率和稳定性,我们可以使用多线程技术来同时爬取多个企业的数据。此外,还可以设置合理的请求间隔和错误处理机制,防止被网站封禁或者遇到异常情况时能够自动恢复。 总之,通过使用Java编写一个网络爬虫,我们可以方便地从天眼询网站爬取企业数据。这样,我们可以快速地获取大量企业的信息,为企业研究、市场调研等工作提供有力支持。 ### 回答2: 通过天眼询企业数据,可以使用Java进行数据爬取的操作。首先,需要使用Java的爬虫框架,例如Jsoup或者HttpClient等,来模拟浏览器发送HTTP请求,并获取网页的源代码。 接下来,我们可以通过分析天眼询企业数据网页的源代码,找到我们所需的数据在网页中的位置和标签,例如公司名称、注册资本、法定代表人等等。使用Java的字符串处理函数或者正则表达式,可以将这些所需数据从网页源代码中提取出来。 然后,将提取出来的数据存储到Java的数据结构中,例如数组、集合或者自定义的实体对象。可以使用Java的数据持久化技术,例如文件存储、数据库存储等,将这些数据保存下来,以备后续使用。 在爬取时,可能会遇到反爬虫机制,例如验证码、限流等。针对这些情况,我们可以使用Java的图像处理库,例如JavaCV或者OpenCV等,来自动识别验证码,并绕过限流等机制。 除了基本的数据爬取外,还可以使用Java的多线程技术,例如线程池,实现更高效的爬取。可以将爬取任务分配给多个线程去执行,从而提高爬取速度。 总之,通过使用Java进行天眼询企业数据的爬取操作,我们可以利用Java强大的网络请求、数据处理和多线程等特性,轻松地获取所需的企业数据,并进行后续分析和使用。 ### 回答3: 天眼询是一个用于询企业信息的网站,提供了大量的企业数据。要实现对天眼询网站上的企业数据进行爬取,可以使用Java语言进行开发。 首先,我们需要使用Java的网络爬虫库,例如Jsoup,来进行网页的解析和数据抓取。通过发送HTTP请求,获取天眼询网站上的企业数据页面的HTML源码。 接下来,我们需要分析天眼询网站上企业数据页面的HTML结构,找到所需数据的标签和属性。使用Jsoup等工具提供的选择器功能,可以通过CSS选择器或XPath语法,精确地定位所需数据的位置。 一旦定位到所需数据的位置,我们就可以使用Java代码提取和处理这些数据。通过解析HTML,获取企业的名称、法定代表人、注册资本、成立日期、公司地址等基本信息。 此外,天眼询网站还提供了企业的股东信息、对外投资信息、主要人员信息等更详细的数据。我们可以根据需求,进一步处理这些数据,例如提取股东名称、持股比例等信息,并存储到数据库或导出为Excel等文件格式。 在处理数据时,我们还需要注意网站的访问频率和规范。爬取过程中,应该控制请求的频率,避免对网站造成过大的负担,并遵守相关的爬虫规范。 最后,可以根据爬虫的实际使用场景,进行数据的清洗、分析和可视化等后续处理工作,以满足具体的需求。 总之,通过使用Java语言编写爬虫程序,结合网络爬虫库和HTML解析工具,可以实现对天眼询企业数据的爬取和处理。这样,我们可以方便地获取和利用大量的企业信息数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值