帮我用python语言在天眼查爬取数据 需至少收集5个行业、国有和非国有、不同地区的500家上市公司的数据。 (1)现金水平数据:(需要收集2019年和2022年数据 研究变量是否可以直接收集到?如果不能建立评价指标体系,通过评分法获取 (2)行业 (3)所有制 (4)地区(分为中部、东部、西部) (5)若干影响现金水平(盈利,营运、成长、偿债、现金流量、公司治理、内部控制等等)的因素变量数据(只需收集一年2022的数据)
时间: 2024-01-18 13:04:23 浏览: 105
基于selenium模拟天眼查登录并爬取企业工商信息的python爬虫
5星 · 资源好评率100%
好的,以下是一个简单的 Python 爬虫代码,可以用来在天眼查上爬取上市公司的数据:
```python
import requests
import json
import time
# 设置请求头
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
# 设置请求参数
params = {
'appKey': '你的appKey',
'pageIndex': '1',
'pageSize': '100',
'sortType': '0',
'industryId': '',
'areaCode': '',
'companyType': '',
'companyOrgType': '',
'isSortAsc': 'false',
'searchKey': ''
}
# 设置需要爬取的行业类型、所有制类型、地区类型
industries = ['制造业', '金融业', '房地产业', '信息技术服务业', '批发和零售业']
ownership_types = ['国有企业', '非国有企业']
area_codes = ['320000', '330000', '340000']
# 爬取数据并保存到文件
for industry in industries:
for ownership_type in ownership_types:
for area_code in area_codes:
# 设置请求参数
params['industryId'] = industry
params['companyType'] = ownership_type
params['areaCode'] = area_code
# 发送请求
response = requests.get('https://api.tianyancha.com/services/v3/search/sNorV3', headers=headers, params=params)
# 解析响应
if response.status_code == 200:
data = json.loads(response.text)['result']['items']
print(f'共找到 {len(data)} 家公司')
with open(f'{industry}-{ownership_type}-{area_code}.json', 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False)
time.sleep(1) # 防止被封IP
else:
print('请求失败')
print('数据爬取完成')
```
该爬虫会依次爬取指定行业、所有制、地区的上市公司数据,并将爬取到的数据保存到对应的文件中。你需要将代码中的 `appKey` 替换为你自己的天眼查 API Key。另外,该代码只能获取到公司的基本信息,如果需要获取更多数据,可以根据天眼查的 API 文档自行添加请求参数。
对于现金水平数据,可以在公司的财务报表中找到,包括现金账户余额、经营现金流、自由现金流等指标。你需要根据实际需求收集不同年份的财务报表数据,并计算出相应的指标值。
对于行业、所有制、地区等分类变量,可以直接从爬取到的数据中获取。
对于影响现金水平的因素变量数据,可以在公司的财务报表中找到相应的指标,包括净利润、营业收入、总资产、负债总额、经营现金流、自由现金流等。你需要收集相应年份的财务报表数据,并计算出相应的指标值。此外,公司治理、内部控制等因素可能需要通过其他途径进行收集。
阅读全文