天眼查企业查询爬虫

news/2024/12/23 1:46:25/

写一个天眼查的爬虫,大家有需要的可以直接拿来用,是基于selenium写的。所以使用之前得下载上这个插件。

在这里插入图片描述
爬的是上面的那个页面

from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC, wait
from selenium.webdriver.common.by import By
from selenium.webdriver import ActionChains
import time
import random
import csv
import json
#打开网页
def openwangzhi():new='山西网才信息技术有限公司'driver = webdriver.Chrome()  # 代码在执行的时候回自行去寻找chromedriver.exe(在python目录下寻找),不再需要制定chromedriver.exe路径driver.get("https://www.tianyancha.com/search?key="+new)driver.maximize_window()time.sleep(5)#这里开始输入我们要的那个公司名称 从这里开始我们是做一个循环的path = "b.csv"with open(path, "r+", encoding='utf-8') as f:csv_read = csv.reader(f)a = []for line in csv_read:a.extend(list(line))print(type(a))f.close()companyList=['山西森甲能源科技有限公司']over=[]while len(companyList)>0:try:driver=xunhuanbianli(driver,companyList[0])over.append(companyList[0])companyList.pop(0)print('还有:'+str(len(companyList))+'家没有查到')except Exception as e:print(e)#这里应该写进入日志的companyList.append(companyList[0])companyList.pop(0)#print('当前公司的id为:'+str(comp_id)+'----'+companyList[comp_id]+'----公司的查询出错')print(companyList[0]+'----公司的查询出错')
def xunhuanbianli(driver,companyname):input=driver.find_element_by_xpath('//div[@class="live-search-wrap"]/input')input.clear()time.sleep(random.randint(1,5))input.send_keys(companyname)driver.find_element_by_xpath('//div[@class="input-group-btn btn -sm btn-primary"]').click()WebDriverWait(driver,30, 0.5).until(EC.presence_of_element_located((By.CLASS_NAME, "num-title")))num=driver.find_element_by_xpath('//span[@class="tips-num"]').textnum=int(num)print('查到公司-'+companyname+'共:------'+str(num)+'------家')scroll_to_bottom(driver,5,4)if num>0:#说明可以查到这个公司,点击进入到这个公司的链接中div=driver.find_elements_by_xpath('//div[@class="result-list sv-search-container"]/div')time.sleep(random.randint(1,3))a_href=driver.find_elements_by_xpath('//a[@class="name select-none "]')[0].get_attribute('href')driver.get(a_href)driver.switch_to.window(driver.window_handles[-1])table=driver.find_element_by_xpath('//table[@class="table -striped-col -border-top-none -breakall"]')scroll_to_bottom(driver, 8, 7)title=driver.find_element_by_xpath('//div[@class="content"]/div[@class="header"]/h1[@class="name"]').textjiexitable(table,title)driver.switch_to.window(driver.window_handles[-1])time.sleep(random.randint(1,5))return driverelse:print('这个---- '+companyname+'-----公司查不到相关信息')
#解析table
def jiexitable(tbody,title):rows=[]trs=tbody.find_elements_by_xpath('.//tr')row = []row_dic = {}for tr in trs:tds=tr.find_elements_by_xpath('.//td')for td in tds:row.append(jixitd(td))if (len(row))%2!=0 :row.append(title)for i in range(0,len(row),2):row_dic[row[i]]=row[i+1]rows.append(row_dic)print(row_dic)jsObj = json.dumps(row_dic)fileObject = open('a.json', 'a', encoding='utf-8')#fileObject.write(jsObj)json.dump(row_dic, fileObject, indent=4, ensure_ascii=False)fileObject.close()return row_dic
#解析td
def jixitd(td):strs=''try:strs=td.find_element_by_xpath('.//*').textexcept:strs=td.textreturn strs
#让页面滚动起来
def scroll_to_bottom(driver,after,hou):js = "return action=document.body.scrollHeight"# 初始化现在滚动条所在高度为0height = 0# 当前窗口总高度new_height = driver.execute_script(js)to_location=random.randint(int(new_height/after),int(new_height/hou))while height < new_height:# 将滚动条调整至页面底部for i in range(height, to_location, 100):driver.execute_script('window.scrollTo(0, {})'.format(i))time.sleep(0.5)height = new_heighttime.sleep(2)new_height = driver.execute_script(js)
if __name__ == '__main__':openwangzhi()

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

相关文章

爱企查与天眼查也来啦~

续企查查之后&#xff0c;爱企查作为不用登录也能查的网站&#xff0c;还自带json返回&#xff0c;方便了数据的获取&#xff0c;深受我的喜爱。 天眼查只能手机号登录&#xff0c;没有企查查QQ登录的方便&#xff0c;勉强把它拉过来吧&#xff0c;他既没有json返回&#xff0…

天眼查数据采集、分析、深度挖掘

天眼查数据采集与分析 1、天眼查是什么 天眼查是由商业查询平台&#xff0c;在基于独有核心技术图数据库的基础上&#xff0c; 构建了完备的集数据采集、数据清洗、数据聚合、数据建模、数据产品化为一体的大数据解决方案。 秉持“让每个人公平地看清这个世界”的使命&#xff…

爬取企业信息-企业信用信息查询系统-天眼查爬虫

时隔2年多&#xff0c;偶然看到自己的这篇文章&#xff0c;看到下面好多求数据的同学&#xff0c;实在抱歉&#xff0c;一方面之前数据已经丢失&#xff0c;一方面个人博客许久未关注&#xff0c;故没有及时答复。 现在重新发送数据给各位同学&#xff0c;仅作学习使用&#x…

天眼查是怎么获得企业工商信息的?

工商信息主要来源爬虫抓取与即时更新 爬的&#xff1a; 工商局不提供任何数据接口&#xff0c;第三方数据库信息为爬取所得爬取信息属合规性质&#xff0c;工商局有义务公开企业信用信息目前各第三方数据库信息抓取方式如下&#xff1a; 通过爬取全国各省市企业信用信息公示系…

【行业了解】天眼查、企查查、启信宝、爱企查

【行业了解】天眼查、企查查、启信宝、爱企查 前言 今天写《【行业分析】矿泉水行业》的时候&#xff0c;简单从两个三方平台获取信息&#xff0c;不过毕竟是第三方平台&#xff0c;我不了解的话我心里不放心&#xff0c;于是简单了解一下查企业的第三方平台。 11月22写《【…

如何从天眼查获取海量公司信息

天眼查有一个高级搜索功能&#xff08;需要VIP权限&#xff0c;淘宝购买1个7天试用约2元&#xff09;。 天眼查内的公司大约2.6亿。 高级搜索会限制输出&#xff0c;查询最大输出是10万条。 因此&#xff0c;需要通过限制条件查询的方式&#xff0c;让查询输出小于10万条。 …

解决win11右键打开方式选择其他应用没反应的问题!!!

建两个文本文件,1.txt和2.txt&#xff0c;把下面两段代码粘贴进去&#xff0c;然后改文件名为1.reg和2.reg&#xff0c;双击运行 1.txt Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Unknown\shell\openas] hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6…

Altermanager安装和使用

1、Altermanager使用 1.1 什么是Alertmanager Alertmanager 与 Prometheus 是相互分离的两个组件&#xff0c;Prometheus 服务器根据报警规则将警报发送给 Alertmanager&#xff0c;然后 Alertmanager 将 silencing、inhibition、aggregation 等消息通过电子邮件、dingtalk …