爱企查 爬取公司基本信息

前言:

前几天老板让我爬下制造业相关的公司,最开始说用企查查,但是你懂的,6页之后就要收费了,不能白嫖。就是前6页页不好爬,超频访问阻拦着我。但是VIP似乎可以直接导出,不用爬虫,遂和老板交涉,哪怕花点儿呢。

老板直言:不是花不起这钱,当程序员的,不能受这个气。

于是和企查查斗智斗勇半天无果后,我果断换了百度旗下的爱企查,强烈推荐爱企查,良心企业。注册账号能看100页左右的数据,还没有超频限制。

废话不多说,下面给大家整俩自己写的爬虫代码。
第一份是爱企查中的制造业公司,搜索“制造”,再勾选“制造业”,显示出来的公司。
第二份是根据一份500强制造业公司名录,爬的制造业公司。

第一份

首先,用xlwt库创建excel和工作表,将表头设置好(也可以不设置表头,就是丑点儿)
需要设置一个savepath变量(字符串),作为你爬下来的数据的存储地址。

# 创建workbook对象 和 工作表
book = xlwt.Workbook(encoding="utf-8", style_compression=0)
sheet = book.add_sheet('AQCdocu', cell_overwrite_ok=True)
col = ("名称", "法人", "注册资本", "成立日期", "地址", "经营范围")
for i in range(0, 6):
    sheet.write(0, i, col[i])  # 列名
book.save(savepath)  # 保存

进入爱企查网站,搜索制造,再勾选制造业(其实勾选不勾选都是一个url),拿到URL,定义变量。

url = "https://aiqicha.baidu.com/s?q=%E5%88%B6%E9%80%A0&t=0"

观察这个网页,一页可以显示10条公司,所以设置一个计数器变量,用于excel向下滚动列,爬一页往下滚10条。
作为刚从学校出来的菜鸟,当然用count啦!

# 每页有10个公司,对应表中的10列,每爬1页往下滚10列
count = 0

然后设置一个for循环,一页页爬,一共爬100页。

    for num in range(1, 100):
    	# 请求网页,返回html
        html = askURL(url, num)
		'''
		这块儿是爬每一页中每一项的东西,别急,待会儿“摘东西”部分填上
		'''
        # 计数器+10
        count = count + 10

在爬每一页的时候,需要先请求网页,然后返回一个html。
我们从这个html里头摘抄想要的东西,然后放到excel中。
先说请求网页,再说摘东西

请求网页:
请求网页这里定义了个函数askURL(抄的另一个大佬的,我加了个num参数,他的文章我最后放上链接,相当清晰)
仔细观察网页,翻几页发现,不论怎么翻页,url都不变。于是点击F12,按照下图的1234依次点击,将header翻到最底下,发现在Query String Parameters中有个变量p代表了页号。
所以,现在知道为什么要弄个参数num了吧,num参数代表了变量p,放在params中翻页用的。

其中1234分别是:
Network、
Fetch/XHR、
随便一个页号、
Name下的那一个(点一个页号会弹出来一个,看看他们,对比一下Query String Parameters中的p就能发现是参数中的p在变)
藏得很深的翻页机制
接下来的操作就很常规了,先把函数框架写出来,然后挨个抄Network–Fetch/XHR–Headers中的东西。
注意Header中的General里头的Request Method,是GET方法,所以用requests库时也要用get。
代码如下:

def askURL(url, num):

    # 请求头部
    headers = {
   
        'Accept': 'application / json, text / plain, * / *',
        'Accept - Encoding': 'gzip, deflate, br',
        'Accept - Language': 'en - US, en;q = 0.9',
        'Connection': 'keep - alive',
        'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36',
        'cookie': 'BIDUPSID=381DD96C2966B9CC44CC57CADD3B67D1; PSTM=1632724182; BAIDUID=381DD96C2966B9CCD0AB4379252D8022:FG=1; __yjs_duid=1_cf0d57675356f745bcbb2c45c59881491632793531463; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; BDSFRCVID=bKDOJexroG382q3HDDZtwituB2KKg7jTDYrEZguiLEnlccDVJeC6EG0PtOqPGZu-EHtdogKK0mOTH6KF_2uxOjjg8UtVJeC6EG0Ptf8g0M5; H_BDCLCKID_SF=tJuf_DthfIt3fP36q45HMt00qxby26ndfg79aJ5nQI5nh-QP55J1hUPNhlJ0-nQG0jTlVpvKQUbmjRO206oay6O3LlO83h5MQGnMKl0MLPb5sbRPLjOD0tA4LxnMBMPjamOnaIQc3fAKftnOM46JehL3346-35543bRTLnLy5KJYMDFlejA2j65bDaRf-b-X-C72sJOOaCvW8pROy4oWK441DhjyqRj7aKTnKP3VbP5IhlvobTJ83M04K4oAaT38JGOM_Jb8WMQJoMQ2Qft20b3bb-RT0qOa3g5wWn7jWhk2Dq72y5jvQlRX5q79atTMfNTJ-qcH0KQpsIJM5-DWbT8IjHCDq6kjJJFOoIvt-5rDHJTg5DTjhPrMj4OWWMT-MTryKKJKaKTKOb7NX-QbMJ00LG5iB--f2HnRh4oNB-3iV-OxDUvnyxAZbn7pLUQxtNRJVnbcLpQmHlbVX4vobUPUDMc9LUkqW2cdot5yBbc8eIna5hjkbfJBQttjQn3hfIkj2CKLtCIWhKLCe503-RJH-xQ0KnLXKKOLVb5HWh7ketn4hUt254R-K47RXP5gbK5JLl_-WhvJMnc2QhrKQf4WWb3ebTJr32Qr-J39QfbpsIJM557fyp8z0M5RBx6QaKviaKJEBMb1MlvDBT5h2M4qMxtOLR3pWDTm_q5TtUJMeCnTDMFhe6oM-frDa4J3K4oa3RTeb6rjDnCr-xRUXUI82h5y05tOtjCeapbgytbbjtbGL65vyPbWMRORXRj4yDvtBlRNaJRjHpbKy4oTjxL1Db3JWboT3aQtsl5dbnboepvoD-cc3MvByPjdJJQOBKQB0KnGbUQkeq8CQft20b0EeMtjW6LEK5r2SC_KtCP53f; BDPPN=04a584e8a43b3c2543211c1ff0083491; log_guid=5c0734af5e94123684a6f61121e70a8f; _j47_ka8_=57; Hm_lvt_ad52b306e1ae4557f5d3534cce8f8bbf=1633747411,1633747424,1633747468; ZX_UNIQ_UID=ad0ed23cec5aa23f175c6abb6a19be38; Hm_lpvt_ad52b306e1ae4557f5d3534cce8f8bbf=1633748170; _s53_d91_=76b33b1f7b50d853e35a0ac59d45020eb588e5b4d4bffd71ed55400a95b4096de8657d250af19df5057cfea80e21ae451091cbf031ecc598c2ee5f212c2788df46767c12e766e00ad42a19c9113ccc138394669b0c028d0947c24e73ff8e3be8a67a5d51fb926dc1ac67756522b47e8ef0baeb5127f5f910146e9d5c27b446f16b1c90dfe4ff71d10043c846a542d5aff4cade220accfe9201f7dce1fb216c5dae97bdf76ae98a71591e3a195e035334ce024ed6aae1cfed2773365c5272a6f41811e03945bab155c60a5a10fe2c4cdb; _y18_s21_=1a10c202; H_PS_PSSID=34652_34441_34068_31254_34711_34525_34584_34505_34706_34107_26350_34419_34691_34671; delPer=0; PSINO=2; BDSFRCVID_BFESS=bKDOJexroG382q3HDDZtwituB2KKg7jTDYrEZguiLEnlccDVJeC6EG0PtOqPGZu-EHtdogKK0mOTH6KF_2uxOjjg8UtVJeC6EG0Ptf8g0M5; H_BDCLCKID_SF_BFESS=tJuf_DthfIt3fP36q45HMt00qxby26ndfg79aJ5nQI5nh-QP55J1hUPNhlJ0-nQG0jTlVpvKQUbmjRO206oay6O3LlO83h5MQGnMKl0MLPb5sbRPLjOD0tA4LxnMBMPjamOnaIQc3fAKftnOM46JehL3346-35543bRTLnLy5KJYMDFlejA2j65bDaRf-b-X-C72sJOOaCvW8pROy4oWK441DhjyqRj7aKTnKP3VbP5IhlvobTJ83M04K4oAaT38JGOM_Jb8WMQJoMQ2Qft20b3bb-RT0qOa3g5wWn7jWhk2Dq72y5jvQlRX5q79atTMfNTJ-qcH0KQpsIJM5-DWbT8IjHCDq6kjJJFOoIvt-5rDHJTg5DTjhPrMj4OWWMT-MTryKKJKaKTKOb7NX-QbMJ00LG5iB--f2HnRh4oNB-3iV-OxDUvnyxAZbn7pLUQxtNRJVnbcLpQmHlbVX4vobUPUDMc9LUkqW2cdot5yBbc8eIna5hjkbfJBQttjQn3hfIkj2CKLtCIWhKLCe503-RJH-xQ0KnLXKKOLVb5HWh7ketn4hUt254R-K47RXP5gbK5JLl_-WhvJMnc2QhrKQf4WWb3ebTJr32Qr-J39QfbpsIJM557fyp8z0M5RBx6QaKviaKJEBMb1MlvDBT5h2M4qMxtOLR3pWDTm_q5TtUJMeCnTDMFhe6oM-frDa4J3K4oa3RTeb6rjDnCr-xRUXUI82h5y05tOtjCeapbgytbbjtbGL65vyPbWMRORXRj4yDvtBlRNaJRjHpbKy4oTjxL1Db3JWboT3aQtsl5dbnboepvoD-cc3MvByPjdJJQOBKQB0KnGbUQkeq8CQft20b0EeMtjW6LEK5r2SC_KtCP53f; BAIDUID_BFESS=3D228C3FC1B3512BAD3529CB3B6ACE85:FG=1; sajssdk_2015_cross_new_user=1; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2217c6313f4bb433-0ec3e42acbdd15-b7a1a38-1024000-17c6313f4bccf9%22%2C%22first_id%22%3A%22%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%2C%22%24latest_referrer%22%3A%22%22%7D%2C%22%24device_id%22%3A%2217c6313f4bb433-0ec3e42acbdd15-b7a1a38-1024000-17c6313f4bccf9%22%7D; ab_sr=1.0.1_M2I1NDRhNTY5NGMwY2EzOTdkZDg5N2YzNTM0NjVlNzAwMmJjNzY1M2I3NmNiYjkxMjVjMTAwMjY5NTg0OTEyZTI3NWI4YTFkYWUyYzRlYjM0OTMxNDc3OGYwMDI5MTRmOWNkOTlhN2E0ZTg1MDMwNTk4NmViYjkxZWZjZmVmMmY2NjQ1N2MwNmNmOGRkMGExNjY1MGNhNjU5OTFmMmNmNg==; RT="z=1&dm=baidu.com&si=3h8cfcpdixy&ss=kuj7h7p1&sl=0&tt=0&bcn=https%3A%2F%2Ffclog.baidu.com%2Flog%2Fweirwood%3Ftype%3Dperf&ld=15q82&ul=113ud&hd=113y9&cl=47l83',
        'Host': 'aiqicha.baidu.com',
        'Referer': 'https: // aiqicha.baidu.com / s?q = % E5 % 88 % B6 % E9 % 80 % A0 & t = 0',
        'sec - ch - ua': '";Not A Brand";v = "99", "Chromium";v = "94"',
        'sec - ch - ua - platform': '"Windows"',
        'Sec - Fetch - Dest': 'empty',
        'Sec - Fetch - Mode': 'cors',
        'Sec - Fetch - Site': 'same - origin',
    }

    # 请求参数
    params = {
   
        'q': '制造',
        'p': str(num)
    }

    response = requests.get(url,params=params,headers=headers)
    print(response.status_code)
    return html

打印一下这个html试试

{
                "name": "\u65e5\u7acb\u6cf5<em>\u5236\u9020<\/em>",
                "entName": "\u65e5\u7acb\u6cf5\u5236\u9020(\u65e0\u9521)\u6709\u9650\u516c\u53f8",
                "type": "\u54c1\u724c\u9879\u76ee",
                "latestRound": "\u88ab\u6
  • 4
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提数据并存储,以便后续分析或展示。虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓的场景。 虫的工作流程包括以下几个关键步骤: URL收集: 虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获。 请求网页: 虫使用HTTP或其他协议向目标URL发起请求,获网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 虫对获的HTML进行解析,提有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助虫定位和提目标数据,如文本、图片、链接等。 数据存储: 虫将提的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反虫机制,虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反虫应对: 由于虫的存在,一些网站采了反虫措施,如验证码、IP封锁等。虫工程师需要设计相应的策略来应对这些挑战。 虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。
### 回答1: 是一个提供信息询服务的网站,可以业的基本信息、股东信息、法律诉讼信息、风险信息等等。由于需要询大量信息,使用手动询的方式效率较低,因此我们可以采用虫技术来获信息网站上的信息是通过网页呈现的,我们可以通过 Python 的 requests 库向网站发送 HTTP 请求,获网页的 HTML 内容。然后就可以使用 Beautiful Soup 等 HTML 解析器对网页内容进行解析,提出需要的信息。 在进行时,有一些需要注意的地方。首先,虫的速度需要控制在一定的范围内,不要对网站造成过大的压力,否则可能会被网站封禁。其次,可能需要使用一些技巧绕过网站的反虫机制,这将会涉及到一些 JavaScript 渲染的问题。 总的来说,网站的信息是一项比较有挑战性的任务,但只要掌握了基本虫原理和技术,相信大家都能够轻松地获所需的信息。 ### 回答2: 是一款提供信息询的网站,通过该网站可以方便地询到各种业的基本信息、股东信息、高管信息、变更信息等。 使用Python编写虫程序可以轻松获信息,并将其保存在本地或者数据库中。具体信息的步骤为: 1. 确定要信息:可以通过虫程序指定业的信息,也可以通过循环遍历业列表方式多个业的信息。 2. 分析网站结构:信息需要对网站的结构有所了解,了解网站的访问方式,网络请求参数、目标URL等信息。 3. 利用虫框架:Python的虫框架如Scrapy可以快速构建虫程序。 4. 解析页面:从网站上获到的信息需要进行解析和处理,使用XPath或正则表达式解析HTML页面。 5. 存储数据:解析完数据后,可以将获到的信息存储在本地文件或数据库中。 需要注意的是,在使用虫程序网站信息时需要遵守相关网络法规与道德规范,不得逾越合法范围并保护被网站的合法利益。 ### 回答3: 是一家提供信息询服务的网站,而Python则是一种利用Python编程语言来自动化抓网页数据的技术方法。通过Python,我们可以快速地获该网站上的信息,并将其导入到我们需要的数据库或文件中,以便进一步的分析和处理。具体来说,提供了多种信息询方式,其中包括基本信息、股东信息、对外投资信息、分支机构信息等。Python可以帮助我们快速地自动化执行这些询操作,并将询结果导入到我们需要的数据库或文件中,以便进一步的数据分析和挖掘。同时,通过Python还可以实现数据的更新和定期更新,从而保证我们获的数据始终保持最新。总之,通过 Python,我们可以实现快速获、自动化处理和方便更新信息,从而为业研究和决策提供更多的有价值的信息

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值