利用drissionpage爬取前瞻产业研究院官网数据

1.工具

工具:drissionpage(🛸 概述 | DrissionPage官网)、Google Chrome、PyCharm 2024.1.1

网站:福州市产业园区大全(524)_福州市产业规划 - 前瞻产业研究院 (qianzhan.com)

利用第三方库爬取网页数据输出csv文件

2.流程

2.1预览

        正式开始前先看网页结构(F12或右击--检查),可以看到,要爬取的数据是表格的形式。

2.2代码实现

# author:  等一把尤尼克斯
# Date:   2024/10/14
# uesd:   用于采集园区数据,并输出csv文件

'''

请谨慎使用本代码,并在使用前谨慎评估其适用性。

'''

import csv
from DrissionPage import ChromiumPage


# 打开浏览器
browser = ChromiumPage()

# CSV 文件路径
csv_file = 'baidu_park_data.csv'

# 写入表头到 CSV 文件
with open(csv_file, 'w', newline='', encoding='utf-8-sig') as f:
    writer = csv.writer(f)
    writer.writerow([
        '序号', '园区名称', '省份', '城市', '地区',
        '详细地址', '大约面积(亩)', '企业数'
    ])

# 监听数据包
browser.listen.start('f.qianzhan.com/yuanqu/diqu/3501')

for page_num in range(1, 11):  # 使用 page_num 代替 page 作为循环变量
    print(f'正在采集第 {page_num} 页')

    # 访问指定页面
    browser.get(f'https://f.qianzhan.com/yuanqu/diqu/3501/?pg={page_num}')
    browser.wait.load_start()  # 等待页面加载完成

    # 先搜索 tr 结构,然后搜索指定的 td 列
    ele1 = browser.ele('tag:tr@@text():园区名称')
    print(ele1.text)

    # 提取并写入每一行的数据
    with open(csv_file, 'a', newline='', encoding='utf-8-sig') as f:
        writer = csv.writer(f)

        for i in range(1, 21):
            ele2 = browser.ele(f'x:/html/body/div[3]/div[3]/div[1]/table/tbody/tr[{i}]')
            print(ele2.text)
            row_data = ele2.text.split('\t')[:-1]  # 去掉最后一列“详情”
            writer.writerow(row_data)

    # 点击下一页
    for pg_num in range(2, 11, -1):  # 使用 page_num 代替 page 作为循环变量
        ele = browser.ele(f'x://*[@id="divpager"]/a[{pg_num}]').click()
        browser.wait.load_start()

        

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值