爬取企查查公司信息

import requests
import time
from lxml import etree
import pandas as pd
import csv

base_url = 'https://www.qcc.com/web/search?key='
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0) Gecko/20100101 Firefox/86.0'
}
data = pd.read_csv('E:\movieinfo3.csv',header=None)
data.columns=['id','url']
a = []
f = open('E:\qichacha.csv','w',newline='')
writer  = csv.writer(f)

title = ['统一社会信用代码','企业名称','法定代表人','成立日期','注册资本','工商注册号','企业类型','营业期限','登记机关','注册地址','经营范围']
writer.writerow(title)
def getCompanyData(url,num):
    try:
        response = requests.get(url, headers=headers)
        response.encoding="utf-8"
        # print(response.text)
        html = etree.HTML(response.text)
        try:     #信用代码               #//*[@id="cominfo"]/div[2]/table/tr[1]/td[2]
            shehui_xinyong=html.xpath('//*[@id="cominfo"]/div[2]/table/tr[1]/td[2]/text()')[0]
        except:
            shehui_xinyong = None

        try:     #公司名称              #//*[@id="cominfo"]/div[2]/table/tr[1]/td[4]
            gongsi_name = html.xpath('//*[@id="cominfo"]/div[2]/table/tr[1]/td[4]/text()')[0]
        except:
            gongsi_name = None

        try:      #法定代表人                #//*[@id="cominfo"]/div[2]/table/tr[2]/td[2]/div/span[2]/span/a
            fadingdaibiaoren = html.xpath('//*[@id="cominfo"]/div[2]/table/tr[2]/td[2]/div/span[2]/span/a/text()')[0]
        except:
            fadingdaibiaoren = None

        try:     #注册资本              #//*[@id="cominfo"]/div[2]/table/tr[3]/td[2]
            zhuceziben =  html.xpath('//*[@id="cominfo"]/div[2]/table/tr[3]/td[2]/text()')[0]
        except:
            zhuceziben = None

        try:    #注册号               #//*[@id="cominfo"]/div[2]/table/tr[4]/td[4]
            gszucehao = html.xpath('//*[@id="cominfo"]/div[2]/table/tr[4]/td[4]/text()')[0]
        except:
            gszucehao = None

        try:   #企业类型            #//*[@id="cominfo"]/div[2]/table/tr[5]/td[2]
            qiyeleix = html.xpath('//*[@id="cominfo"]/div[2]/table/tr[5]/td[2]/text()')[0]
        except:
            qiyeleix = None

        try:   #营业期限              #//*[@id="cominfo"]/div[2]/table/tr[5]/td[4]
            yingyeqixian = html.xpath('//*[@id="cominfo"]/div[2]/table/tr[5]/td[4]/text()')[0]
        except:
            yingyeqixian = None

        try:   #注册地址             #//*[@id="cominfo"]/div[2]/table/tr[9]/td[2]/a[1]
            zucedizhi = html.xpath('//*[@id="cominfo"]/div[2]/table/tr[9]/td[2]/a[1]/text()')[0]
        except:
            zucedizhi = None

        try:    #营业范围              #//*[@id="cominfo"]/div[2]/table/tr[10]/td[2]
            jingyingfanwei = html.xpath('//*[@id="cominfo"]/div[2]/table/tr[10]/td[2]/text()')[0]
        except:
            jingyingfanwei = None

        try:    #成立日期           #//*[@id="cominfo"]/div[2]/table/tr[2]/td[6]
            chengliriqi = html.xpath('//*[@id="cominfo"]/div[2]/table/tr[2]/td[6]/text()')[0]
        except:
            chengliriqi = None

        try:     #登记机关           #//*[@id="cominfo"]/div[2]/table/tr[6]/td[6]
            dengjijiguan = html.xpath('//*[@id="cominfo"]/div[2]/table/tr[6]/td[6]/text()')[0]
        except:
            dengjijiguan = None
        writer.writerow([shehui_xinyong,gongsi_name,fadingdaibiaoren,chengliriqi,zhuceziben,gszucehao,qiyeleix,yingyeqixian,dengjijiguan,zucedizhi,jingyingfanwei])

        print('第{}条------->>>'.format(num), gongsi_name)
        num += 1

        time.sleep(30)
    except:
        time.sleep(10)
        print('错误')
        pass
# a.append(title)
for j,i in enumerate(data.url):
    getCompanyData(i,j+1)
f.close()

print('successlly')

数据:https://download.youkuaiyun.com/download/yangzheng_520/21979543

关注一下,谢谢

爬取查查公司主要人员信息是一项涉及数据抓取和网络爬虫技术的任务。查查是一家提供信息查询服务的网站,包含了大量公司的详细信息,包括公司主要人员的信息。以下是一个简要的步骤指南,帮助你了解如何爬取这些信息: ### 步骤一:准备工作 1. **安装必要的库**: - `requests`:用于发送HTTP请求。 - `BeautifulSoup`:用于解析HTML内容。 - `selenium`:用于处理动态加载的内容。 ```python pip install requests beautifulsoup4 selenium ``` 2. **安装浏览器驱动**: - 根据你使用的浏览器下载相应的驱动程序,例如ChromeDriver。 ### 步骤二:发送请求 使用`requests`库发送HTTP请求,获取查查公司页面的HTML内容。 ```python import requests url = 'https://www.qichacha.com/firm_xxxxxxxx.html' headers = { 'User-Agent': '你的User-Agent' } response = requests.get(url, headers=headers) html_content = response.text ``` ### 步骤三:解析内容 使用`BeautifulSoup`解析HTML内容,提取主要人员信息。 ```python from bs4 import BeautifulSoup soup = BeautifulSoup(html_content, 'html.parser') # 根据实际的HTML结构找到包含主要人员信息的标签 person_info = soup.find_all('div', class_='company_member_list') for person in person_info: name = person.find('a').text position = person.find('p').text print(f'姓名: {name}, 职位: {position}') ``` ### 步骤四:处理动态内容 如果查查的页面内容是动态加载的(例如通过JavaScript加载),可以使用`selenium`来模拟浏览器行为。 ```python from selenium import webdriver from bs4 import BeautifulSoup driver = webdriver.Chrome(executable_path='path_to_chromedriver') driver.get(url) # 等待页面加载完成 driver.implicitly_wait(10) html_content = driver.page_source soup = BeautifulSoup(html_content, 'html.parser') person_info = soup.find_all('div', class_='company_member_list') for person in person_info: name = person.find('a').text position = person.find('p').text print(f'姓名: {name}, 职位: {position}') driver.quit() ``` ### 注意事项 1. **合法性与道德性**:确保你的爬虫行为符合相关法律法规和网站的使用条款。 2. **反爬机制**:查查可能有反爬机制,例如验证码、IP限制等,需要相应处理。 3. **数据存储**:根据需要将抓取的数据存储到数据库或文件中。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值