爱企查爬虫selenium

该代码使用Selenium库尝试爬取百度爱企查的施工图审查相关企业信息,能成功爬取第一页,但遇到需要登录的问题无法继续。程序中已设置Chrome选项并初始化Workbook用于存储数据,目标是实现登录后爬取多页信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写这个是为了寻求一个可以实现模拟登录功能的大佬,我已经实现了,爬取第一页,但是到了第二页需要登录,我就不会了。或者有想法一起探讨。会写先登录然后再爬取的也行。

import time
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
import openpyxl as  op
import csv
from urllib.parse import urljoin
ws=op.Workbook()
wb=ws.create_sheet(index=0)
wb.cell(row=1,column=1,value='企业名称')
wb.cell(row=1,column=2,value='统一社会信用代码')
wb.cell(row=1,column=3,value='法定代表人')
wb.cell(row=1,column=4,value='经营状态')
wb.cell(row=1,column=5,value='成立日期')
wb.cell(row=1,column=6,value='行政区划')
wb.cell(row=1,column=7,value='注册资本')
wb.cell(row=1,column=8,value='实缴资本')
wb.cell(row=1,column=9,value='企业类型')
wb.cell(row=1,column=10,value='所属行业')
wb.cell(row=1,column=11,value='工商注册号')
wb.cell(row=1,column=12,value='组织机构代码')
wb.cell(row=1,column=13,value='纳税人识别号')
wb.cell(row=1,column=14,value='纳税人资质')
wb.cell(row=1,column=15,value='营业期限')
wb.cell(row=1,column=16,value='核准日期')
wb.cell(row=1,column=17,value='登记机关')
wb.cell(row=1,column=18,value='参保人数')
wb.cell(row=1,column=19,value='曾用名')
wb.cell(row=1,column=20,value='注册地址')
wb.cell(row=1,column=21,value='经营范围')
wb.cell(row=1,column=22,value='主管部门名称')
wb.cell(row=1,column=23,value='持股比例')
wb.cell(row=1,column=24,value='认缴出资额')
wb.cell(row=1,column=25,value='认缴出资日期')

#get直接返回,不再等待界面加载完成
desired_capabilities = DesiredCapabilities.CHROME
desired_capabilities["pageLoadStrategy"] = "none"

# 设置谷歌驱动器的环境
options = webdriver.ChromeOptions()
# 设置chrome不加载图片,提高速度
#options.add_experimental_option("prefs", {"profile.managed_default_content_settings.images": 2})
# 设置不显示窗口
#options.add_argument('--headless')
# 创建一个谷歌驱动器
driver = webdriver.Chrome(options=options)
# 设置搜索主题
theme = "施工图审查"
# 设置所需篇数
papers_need = 20


# 打开页面
#driver.get("https://aiqicha.baidu.com/s?q=%E6%96%BD%E5%B7%A5%E5%9B%BE%E5%AE%A1%E6%9F%A5&t=0")
driver.get("https://aiqicha.baidu.com/s?q=%E6%96%BD%E5%B7%A5%E5%9B%BE%E5%AE%A1%E6%9F%A5")
# 传入关键字
WebDriverWait( driver, 100 ).until( EC.presence_of_element_located( (By.XPATH ,'''//*[@id="aqc-header-search-input"]''') ) ).send_keys(theme)
# 点击搜索
WebDriverWait( driver, 100 ).until( EC.presence_of_element_located( (By.XPATH ,"/html/body/div[1]/div[1]/header/div/div[2]/button") ) ).click()
time.sleep(3)

# 点击切换中文文献
# 获取总文献数和页数


# 赋值序号, 控制爬取的文章数量
count = 1
# 当,爬取数量小于需求时,循环网页页码
while count <= papers_need:
    # 等待加载完全,休眠3S
    time.sleep(3)

    title_list = WebDriverWait( driver,1 ).until( EC.presence_of_all_elements_located( (By.CSS_SELECTOR  ,"body > div.base.page-search.has-search-tab > div.aqc-content-wrapper.has-footer > div > div.main > div.list-wrap > div.company-list > div > div:nth-child(-n+10) > div.info > div > h3 > a") ) )

    # 循环网页一页中的条目
    for i in range(len(title_list)):
        try:

            term = count%10   # 本页的第几个条目
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值