Python爬虫企查查

#爬取企查查公司的网址和名字

Cookie为你登录企查查官网后的,
程序运行后输入需要搜索的字段即可湖区相关企业信息
eg:游戏,餐饮等字眼
import time
import urllib
from urllib import request
from lxml import etree

for PageNum in range(1,2):
    search = input("请输入需要搜索的字段:")
    search1 = urllib.parse.quote(search)
    url = r"https://www.qichacha.com/search?key="+ search1+"#p:"+str(PageNum)+"&"
    headers = {
        'Host': 'www.qichacha.com',
        'Connection': 'keep-alive',
        'Accept': r'text/html, */*; q=0.01',
        'X-Requested-With': 'XMLHttpRequest',
        'User-Agent': r'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1',
        'Referer': url,
        'Accept-Language': 'zh-CN,zh;q=0.9',
        'Cookie': "UM_distinctid=16c4ffec9184b4-06bf1ab467097d-c343162-100200-16c4ffec919402; zg_did=%7B%22did%22%3A%20%2216c4ffecad927b-02c0fc68d3cecc-c343162-100200-16c4ffecada522%22%7D; _uab_collina=156471019499611887695946; acw_tc=7cc1e21615680865761297886e663a64c8dd44f26a2658e07f2c53ffbb; QCCSESSID=rl94fffour31is6mqkpvsvrg96; hasShow=1; Hm_lvt_3456bee468c83cc63fb5147f119f1075=1568698791,1568699293,1568700240,1568700608; CNZZDATA1254842228=926297394-1564705055-https%253A%252F%252Fwww.baidu.com%252F%7C1568701992; Hm_lpvt_3456bee468c83cc63fb5147f119f1075=1568704483; zg_de1d1a35bfa24ce29bbf2c7eb17e6c4f=%7B%22sid%22%3A%201568703637962%2C%22updated%22%3A%201568704483941%2C%22info%22%3A%201568698790826%2C%22superProperty%22%3A%20%22%7B%7D%22%2C%22platform%22%3A%20%22%7B%7D%22%2C%22utm%22%3A%20%22%7B%7D%22%2C%22referrerDomain%22%3A%20%22www.qichacha.com%22%2C%22cuid%22%3A%20%22f289610a9540a6c5a306d7ed743b5dd3%22%2C%22zs%22%3A%200%2C%22sc%22%3A%200%7D",
    }

    r = request.Request(url,headers=headers)#请求网址
    r1 = request.urlopen(r).read()#获取请求网址的HTML
    r1 = r1.decode("utf8")#解码
    html = etree.HTML(r1)#生成DOM树
    result = html.xpath("//tbody//tr//td/a//@href")#解析
    for ie in result:
        time.sleep(3)
        reurl = r"https://www.qichacha.com" + str(ie)#企业详细页面
        print(reurl)
        headers = {
            'User-Agent': r'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36',
        }
        rs = request.Request(reurl, headers=headers)  # 请求网址
        r2 = request.urlopen(rs).read()  # 获取请求网址的HTML
        r2 = r2.decode("utf8")  # 解码
        html2 = etree.HTML(r2)  # 生成DOM树
        Web = html2.xpath("//div[@class='dcontent']/div[1]/span[3]/a/text()")  # 官网
        Name = html2.xpath("//div[@class='content']/div[1]/h1/text()") #公司名字
        # Adress = html2.xpath("//tbody/tr[11]/td[2]/text()")#公司地址

        with open("qcc.txt","a+")as f:
            if not Web:
                print(Web)
                print(Name[0].strip())
                f.write("暂无")
                f.write("="*3)
                f.write(Name[0].strip())
                f.write("\n")
            else:
                print(Web[0].strip())
                print(Name[0].strip())
                f.write(Web[0].strip())
                f.write("="*3)
                f.write(Name[0].strip())
                f.write("\n")
            f.close()


爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ko-walski

太难了,求鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值