当前位置:首页 > 知识库 > 正文内容

简单爬取天眼查数据 附代码

51税知网2年前 (2022-10-18)知识库94

一、常规抓包分析

比如要爬取企业注册信息查询_企业工商信息查询_企业信用信息查询平台_发现人与企业关系的平台-天眼查该页面的基础信息。

通过火狐浏览器抓包,可以发现,所要数据都在下图的json文件里

查看其请求

伪装成浏览器爬取该文件:

伪装成浏览器爬取该文件:

import requests
header = {
'Host': 'www.tianyancha.com',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0',
'Accept': 'application/json, text/plain, */*',
'Accept-Language': 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
'Accept-Encoding': 'gzip, deflate',
'Tyc-From': 'normal',
'CheckError': 'check',
'Connection': 'keep-alive',
'Referer': 'http://www.tianyancha.com/company/2310290454',
'Cache-Control': 'max-age=0'
,
'Cookie': '_pk_id.1.e431=5379bad64f3da16d.1486514958.5.1486693046.1486691373.; Hm_lvt_e92c8d65d92d534b0fc290df538b4758=1486514958,1486622933,1486624041,1486691373; _pk_ref.1.e431=%5B%22%22%2C%22%22%2C1486691373%2C%22https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3D95IaKh1pPrhNKUe5nDCqk7dJI9ANLBzo-1Vjgi6C0VTd9DxNkSEdsM5XaEC4KQPO%26wd%3D%26eqid%3Dfffe7d7e0002e01b00000004589c1177%22%5D; aliyungf_tc=AQAAAJ5EMGl/qA4AKfa/PDGqCmJwn9o7; TYCID=d6e00ec9b9ee485d84f4610c46d5890f; tnet=60.191.246.41; _pk_ses.1.e431=*; Hm_lpvt_e92c8d65d92d534b0fc290df538b4758=1486693045; token=d29804c0b88842c3bb10c4bc1d48bc80; _utm=55dbdbb204a74224b2b084bfe674a767; RTYCID=ce8562e4e131467d881053bab1a62c3a'
}
r = requests.get('http://www.tianyancha.com/company/2310290454.json', headers=header)
print(r.text)

print(r.status_code)

返回结果如下:

统一代码查询app_社会统一代码查询_统一组织机构代码查询

状态码为403,常规爬取不成功。考虑下面一种方式。

二、使用selenium+PHANTOMJS获取数据

首先下载phantomjs到本地统一组织机构代码查询,并将phantomjs.exe存放在系统环境变量所在目录下(本人讲该文件放置在D:/Anaconda2/路径下)。

为phantomjs添加useragent信息(经测试,不添加useragent信息爬取到的是错乱的信息):

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
dcap = dict(DesiredCapabilities.PHANTOMJS)
dcap["phantomjs.page.settings.userAgent"] = (
"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0"
    )
driver = webdriver.PhantomJS(executable_path='D:/Anaconda2/phantomjs.exe', desired_capabilities=dcap)

获取网页源代码:

driver.get('http://www.tianyancha.com/company/2310290454')
#等待5秒,更据动态网页加载耗时自定义
time.sleep(5)
# 获取网页内容
content = driver.page_source.encode('utf-8')
driver.close()
print(content)

统一代码查询app_统一组织机构代码查询_社会统一代码查询

对照网页,爬取的源代码信息正确,接下去解析代码,获取对应的信息。

简单写了下获取基础信息的代码:

#!/usr/bin/env python
# -*- coding:utf-8 -*-
from selenium import webdriver
import time
from bs4 import BeautifulSoup
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
def driver_open():
    dcap = dict(DesiredCapabilities.PHANTOMJS)
    dcap["phantomjs.page.settings.userAgent"] = (
"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:50.0) Gecko/20100101 Firefox/50.0"
    )
    driver = webdriver.PhantomJS(executable_path='D:/Anaconda2/phantomjs.exe', desired_capabilities=dcap)
return driver
def get_content(driver,url):
    driver.get(url)
#等待5秒,更据动态网页加载耗时自定义
    time.sleep(5)
# 获取网页内容
    content = driver.page_source.encode('utf-8')
    driver.close()
    soup = BeautifulSoup(content, 'lxml')

统一组织机构代码查询_社会统一代码查询_统一代码查询app

return soup def get_basic_info(soup): company = soup.select('div.company_info_text > p.ng-binding')[0].text.replace("\n","").replace(" ","") fddbr = soup.select('.td-legalPersonName-value > p > a')[0].text zczb = soup.select('.td-regCapital-value > p ')[0].text zt = soup.select('.td-regStatus-value > p ')[0].text.replace("\n","").replace(" ","") zcrq = soup.select('.td-regTime-value > p ')[0].text basics = soup.select('.basic-td > .c8 > .ng-binding ') hy = basics[0].text qyzch = basics[1].text qylx = basics[2].text zzjgdm = basics[3].text yyqx = basics[4].text djjg = basics[5].text hzrq = basics[6].text tyshxydm = basics[7].text zcdz = basics[8].text jyfw = basics[9].text print u'公司名称:'+company print u'法定代表人:'+fddbr print u'注册资本:'+zczb print u'公司状态:'+zt print u'注册日期:'+zcrq # print basics

社会统一代码查询_统一组织机构代码查询_统一代码查询app

print u'行业:'+hy print u'工商注册号:'+qyzch print u'企业类型:'+qylx print u'组织机构代码:'+zzjgdm print u'营业期限:'+yyqx print u'登记机构:'+djjg print u'核准日期:'+hzrq print u'统一社会信用代码:'+tyshxydm print u'注册地址:'+zcdz print u'经营范围:'+jyfw def get_gg_info(soup): ggpersons = soup.find_all(attrs={"event-name": "company-detail-staff"}) ggnames = soup.select('table.staff-table > tbody > tr > td.ng-scope > span.ng-binding') # print(len(gg)) for i in range(len(ggpersons)): ggperson = ggpersons[i].text ggname = ggnames[i].text print (ggperson+" "+ggname) def get_gd_info(soup): tzfs = soup.find_all(attrs={"event-name": "company-detail-investment"}) for i in range(len(tzfs)): tzf_split = tzfs[i].text.replace("\n","").split() tzf = ' '.join(tzf_split)

统一代码查询app_社会统一代码查询_统一组织机构代码查询

print tzf def get_tz_info(soup): btzs = soup.select('a.query_name') for i in range(len(btzs)): btz_name = btzs[i].select('span')[0].text print btz_name if __name__=='__main__': url = "http://www.tianyancha.com/company/2310290454" driver = driver_open() soup = get_content(driver, url) print '----获取基础信息----' get_basic_info(soup) print '----获取高管信息----' get_gg_info(soup) print '----获取股东信息----' get_gd_info(soup) print '----获取对外投资信息----' get_tz_info(soup)

这仅仅是单页面的一个示例统一组织机构代码查询,要写完整的爬虫项目加工,以后再花时间改进。

--------------------------------------------------------------------

以上内容由51税知网整理,希望对大家有所帮助!与智慧同行,开启你的创业之路!

扫描二维码推送至手机访问。

版权声明:本文由51税知网发布,如需转载请注明出处。

本文链接:https://www.51wsyp.cn/121.html

分享给朋友:

“简单爬取天眼查数据 附代码” 的相关文章

2019年小微企业常见融资方式有哪些?

近几年来,小微企业在国民经济中的地位日益增高,而小微企业融资需求自然也吸引了政府、银行、电商等团体的广泛关注。那么,小微企业融资途径主要有哪些呢? 小微企业常见的融资方式: 1、无形资产担保贷款 据相关法律规定,商标专用权、专利权、著作权中的财产权等无形资产能作为贷款质押物。 2、自然人担保贷款 自...

上海奉贤区公司注册 奉贤海湾旅游新公司注册 一对一线上登记服务

上海奉贤区公司注册 奉贤海湾旅游新公司注册 一对一线上登记服务 手机微信同号 有问题有需要可以电话 微信 联系我 手机微信同号有问题有需要可以电话 微信联系我我公司服务项目:1、内资公司注册、外资公司注册、分公司注册、个体户注册、个人独资企业注册、合伙企业注册、代办营业执照、工商代办、代办公司注册、...

全国企业信息公示系统江苏

全国企业信息公示系统江苏

全国企业信用信息公示系统查询怎么查不到江苏的信息 你好,全国企业信用信息查询系统中是可以查到江苏省的信息的,不过它的系统有时会出现问题国家企业公示系统全国,如果你想要查询江苏省的企业信息你还可以在工商局网站上和手机服务号启信宝中查找。 注册的话,一般你在当地的工商局网站就可以注册了,注册按照步骤来,...

深圳代理记账费用一般一个月多少钱?

现如今对于中小企业来说,选择深圳代理记账公司为企业提供深圳记账报税服务是不错的选择,但是在选择的时候深圳记账费用,一定要选择合适的深圳代理记账服务机构。那么深圳代理记账费用一般一个月多少钱? 1、地区收费标准 地区之间经济发展有差异,工资和物价自然都有差异。所以,深圳代理记账沿海地区成本高于内陆地区...

最高法院:用公司注册资金偿还对股东债务,是不是构成抽逃出资?

最高法院:用公司注册资金偿还对股东债务,是不是构成抽逃出资?

[法 客 帝 国(Empirelawyers)出品] 最高人民法院 只有抽逃出资的形式要件,但不符合“损害公司权益”的实质要件,不应认定为抽逃出资 延伸: [法 客 帝 国(Empirelawyers)出品] 裁判要旨 认定抽逃注册资金要件有两个,一个是形式要件,包括“将出资款转入公司账户验资后又...

许可证哪些企业需要办理?

许可证哪些企业需要办理?

许可证哪些企业需要办理? 天钥众创空间 TSxuetang 天钥众创空间致力于帮助企业低成本出版物经营许可证哪个部门办理,便利化创业。提供工商注册、代理记账、金融服务、创业扶持、补贴政策申请等。 发表于 收录于合集 可能很多初创者会疑惑,为什么朋友的公司需要办理许可证,我没有办理会不会影响业务?...