前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >爱企查爬取某国企控股旗下公司思路

爱企查爬取某国企控股旗下公司思路

作者头像
Tommonkey
发布2023-02-27 20:32:13
发布2023-02-27 20:32:13
1.2K20
代码可运行
举报
文章被收录于专栏:TommonkeyTommonkey
运行总次数:0
代码可运行

接到的工作内容是对某国企及其旗下控股公司进行漏洞挖掘还只要高危的,头疼。爱妻查上一查它控股四千多个公司,直接上python爬它吧! 首先bp抓包,分析一下数据包,看回包发现返回的数据是Unicode编码,所以思路大概有了:

  • 把数据都爬取下来
  • Unicode解码数据
  • 正则表达式提取所需公司名

第一步:爬取数据

代码语言:javascript
代码运行次数:0
运行
复制
import time
from urllib.parse import unquote
import re

# 这里的cookie自己用bp抓取替换就ok了
header={
'Cookie':'',
'Sec-Ch-Ua':'"Google Chrome";v="107", "Chromium";v="107", "Not=A?Brand";v="24"',
'Sec-Ch-Ua-Mobile':'?0',
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36',
'Accept':'application/json, text/plain, */*',
'Ymg_ssr':'1668755050538_1668842314729_newx3Oy/bZS3JmKFpuSXF0dFO4LitarO41oOAYMKwim4cWMEziXdEuJoQqC9Po8LnWo5xdt5QyC5SUq0hbg09nAW2K1O1NLJfYLrz3r5165KX/7gQEiIR50kz9mBZl08hCunvgRxyRAAwMXTzf25rjN4BpVmunVEUgBmHGR2d5nht+Vzq1QbtBcEwic4HqBWMMGj90dLwILVd0tapplxu4J2lRAgEpW1yLNHPdgmYCA1BS4urb1LmCaUDTC7I8ToSDsexLbmlVuYoOmx+4IlzdZGWV51fl9B7gAktxPdg5qra2UZ9Y57+gJypVJXOtNgJRSL3JjP7XDgYo8bUtTEA6/4vTTYBJLA4CBJ7oXStz8=',
'X-Requested-With':'XMLHttpRequest',
'Zx-Open-Url':'https://aiqicha.baidu.com/company_detail_28684316400936',
'Sec-Ch-Ua-Platform':'Windows',
'Sec-Fetch-Site':'same-origin',
'Sec-Fetch-Mode':'cors',
'Sec-Fetch-Dest':'empty',
'Referer':'https://aiqicha.baidu.com/company_detail_28684316400936',
'Accept-Encoding':'gzip, deflate',
'Accept-Language':'zh,en-US;q=0.9,en;q=0.8,zh-CN;q=0.7',
'Connection':'close',
}

def input_data(date):
    with open("result.txt", mode="a+") as fd:
        fd.write(date + "\n")

# first_step:爬取相关公司旗下控股公司名称,输出到当前目录的result,自己在用pycharm的正则表达式处理提取出来保存即可
def get_date():
    try:
        for i in range(1,451):
            url = "https://aiqicha.baidu.com/detail/holdsAjax?pid=28684316400936&p={}&size=10&confirm=".format(i)
            respond = requests.get(url=url,headers=header)
            time.sleep(0.5)
            input_data(respond.text)
            print("爬取第{}条完毕,成功入库".format(i))
    except Exception as err:
        print(err)


if __name__ == "__main__":
    get_date()

第二步:解码

这个我直接到到网上找的在线解密,直接丢进去就好了,pass~

第三步:正则提取

这里也是利用pycharm的正则表达式功能,ctrl+r打开正则表达式功能,各位按需自己构造吧,pass~

OVER

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-11-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第一步:爬取数据
  • 第二步:解码
  • 第三步:正则提取
  • OVER
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档