基于selenium和bs4的通用数据采集技术(附代码)

这篇具有很好参考价值的文章主要介绍了基于selenium和bs4的通用数据采集技术(附代码)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

AI应用开发相关目录

本专栏包括AI应用开发相关内容分享,包括不限于AI算法部署实施细节、AI应用后端分析服务相关概念及开发技巧、AI应用后端应用服务相关概念及开发技巧、AI应用前端实现路径及开发技巧
适用于具备一定算法及Python使用基础的人群

  1. AI应用开发流程概述
  2. Visual Studio Code及Remote Development插件远程开发
  3. git开源项目的一些问题及镜像解决办法
  4. python实现UDP报文通信
  5. python实现日志生成及定期清理
  6. Linux终端命令Screen常见用法
  7. python实现redis数据存储
  8. python字符串转字典
  9. python实现文本向量化及文本相似度计算
  10. python对MySQL数据的常见使用
  11. 一文总结python的异常数据处理示例
  12. 基于selenium和bs4的通用数据采集技术(附代码)


一、前言

本文所说的数据采集技术即爬虫,爬虫技术用于从互联网上抓取大量数据。这些爬虫程序能够自动化地访问网页/公众号平台、解析内容,并提取所需的信息。在大数据和机器学习等领域,爬虫技术发挥着至关重要的作用。

数据采集技术为项目提供丰富的数据资源,根据这些信息进行产品设计和创新,持续改进和优化产品。

二、环境配置

pip install beautifulsoup4

pip install selenium

安装WebDriver:Selenium需要WebDriver来与浏览器进行交互。不同的浏览器需要不同的WebDriver。例如,如果你使用的是Chrome浏览器,你需要下载并安装chromedriver;如果你使用的是Firefox浏览器,你需要下载并安装geckodriver。请根据你的浏览器类型,从官方网站或相关源下载对应的WebDriver,并将其放置在系统路径下,以便Selenium能够找到并调用它。

基于selenium和bs4的通用数据采集技术(附代码),AI应用开发,selenium,测试工具,python,爬虫,数据采集,网络爬虫

三、技术策略

http://ytzwfw.sd.gov.cn/yt/icity/project/index

基于selenium和bs4的通用数据采集技术(附代码),AI应用开发,selenium,测试工具,python,爬虫,数据采集,网络爬虫
特性1:翻页后url无变化规律
基于selenium和bs4的通用数据采集技术(附代码),AI应用开发,selenium,测试工具,python,爬虫,数据采集,网络爬虫
特性2:数据爬取分为2阶段,需要在url后再爬取具体数据项的url_son,再针对url_son设计程序采集。

基于selenium和bs4的通用数据采集技术(附代码),AI应用开发,selenium,测试工具,python,爬虫,数据采集,网络爬虫
基于selenium和bs4的通用数据采集技术(附代码),AI应用开发,selenium,测试工具,python,爬虫,数据采集,网络爬虫

特性3:html源码中无法直接获取数据存在形式,仅开发者模式下才能观察到

由此可知该网站具备相当程度的反扒设计。

策略:
设计两个阶段的数据采集程序,克服特点2
采取selenium自动化框架,克服特点1
采取bs4数据采集框架,客服特点3文章来源地址https://www.toymoban.com/news/detail-850992.html

四、代码实例

step1:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
import time
def get_single_page_data():
    result = []
    for i in range(10):
        try:
            mid_title = driver.find_element(By.XPATH, '//*[@id="itemlist"]/div[' + str(i + 1) + ']/div[1]/a[1]').text
            mid_url = driver.find_element(By.XPATH, '//*[@id="itemlist"]/div[' + str(i + 1) + ']/div[1]/a[1]').get_attribute('onclick')
            mid = [mid_title,mid_title,mid_url.split("'")[-2]]
            # print(mid)
            result.append(mid)
        except:
            print('data error!')
    return result

def write_data_totxt(data:str):
    with open('data.txt', 'a') as f:
        f.write(data)
        f.write('\n')

# 创建一个Chrome浏览器实例
driver = webdriver.Chrome(options=Options(), executable_path=r'C:\Program Files\Google\Chrome\Application\chromedriver.exe')
# 打开目标网页
driver.get("http://ytzwfw.sd.gov.cn/yt/icity/project/index")


data = []
page = 0
while page<= 628:  # 循环页数
    try:
        single_page_data = get_single_page_data() # 抓数据
        for i in single_page_data:
            print(i)
            write_data_totxt(i[0])
            write_data_totxt(i[-1])
        #     /html/body/div[5]/div/div/div[2]/div/a[8]
        driver.find_element(By

到了这里,关于基于selenium和bs4的通用数据采集技术(附代码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【大数据 | 综合实践】大数据技术基础综合项目 - 基于GitHub API的数据采集与分析平台

    🤵‍♂️ 个人主页: @AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!🐱‍🏍 🙋‍♂️声明:本人目前大学就读于大二,研究兴趣方向人工智能硬件(虽然硬件还没开始玩,但一直

    2024年02月08日
    浏览(56)
  • 基于Python的51job(前程无忧)招聘网站数据采集,通过selenium绕过网站反爬,可以采集全国各地数十万条招聘信息

    使用Python编程语言和Selenium库来实现自动化的网页操作,从而实现登录、搜索和爬取职位信息的功能。 首先,导入了所需的库,包括time用于处理时间,selenium用于模拟浏览器操作,csv用于写入CSV文件,BeautifulSoup用于解析网页数据。然后,定义了一个名为login的函数,该函数接

    2024年01月19日
    浏览(63)
  • Python爬虫|基础知识点详细汇总(requests、urllib、re、bs4、xpath、PyQuery、jsonpath、多线程、协程、数据保存、selenium)

    1. 请求数据 ① requests (1) 基本使用 参数 对响应内容的操作 (2) Requests进阶:使用Session 为什么要用 Session? Session代表服务器与浏览器的一次会话过程,Session对象存储了特定用户会话所需的信息 例如:一定时间内记录账号密码 (自动登录) 可以加快 requests请求速度 需要客户端登录的

    2023年04月08日
    浏览(56)
  • 【Python爬虫】Python爬虫三大基础模块(urllib & BS4 & Selenium)

    参考资料 Python爬虫教程(从入门到精通) Python urllib | 菜鸟教程 Beautiful Soup 4 入门手册_w3cschool Selenium入门指南 Selenium教程 什么是 Scrapy|极客教程 Scrapy入门教程 1、网络爬虫是什么? 我们所熟悉的一系列 搜索引擎都是大型的网络爬虫 ,比如百度、搜狗、360浏览器、谷歌搜索等

    2024年02月12日
    浏览(50)
  • Python爬虫技术系列-02HTML解析-BS4

    参考连接: https://beautifulsoup.readthedocs.io/zh_CN/v4.4.0/# http://c.biancheng.net/python_spider/bs4.html 2.1.1 Beautiful Soup安装 Beautiful Soup 简称 BS4(其中 4 表示版本号)是一个 Python 第三方库,它可以从 HTML 或 XML 文档中快速地提取指定的数据。Beautiful Soup 语法简单,使用方便,并且容易理解,

    2024年02月05日
    浏览(41)
  • FPGA基于XDMA实现PCIE X8采集AD7606数据 提供工程源码和QT上位机程序和技术支持

    PCIE(PCI Express)采用了目前业内流行的点对点串行连接,比起 PCI 以及更早期的计算机总线的共享并行架构,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率,达到 PCI 所不能提供的高带宽,是目前各行业高速接口的优

    2024年02月06日
    浏览(76)
  • FPGA基于XDMA实现PCIE X8采集AD9226数据 提供工程源码和QT上位机程序和技术支持

    PCIE(PCI Express)采用了目前业内流行的点对点串行连接,比起 PCI 以及更早期的计算机总线的共享并行架构,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率,达到 PCI 所不能提供的高带宽,是目前各行业高速接口的优

    2024年02月04日
    浏览(44)
  • 数据采集:selenium 提取 Cookie 自动登陆

    工作需要,简单整理 博文内容涉及 通过 selenium 实现自动登陆 理解不足小伙伴帮忙指正 对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是随波逐流,

    2024年02月10日
    浏览(42)
  • Python 网络数据采集(四):Selenium 自动化

    作者:高玉涵 时间:2024.1.11 08:30 博客:blog.csdn.net/cg_i 环境:Windows 10 专业版 22H2、Python 3.10.4、selenium 4.10.0 前言 在 WEB 功能测试领域,Selenium 是一个免费、开源、跨平台的重要工具,它可以对 Chrome、Firefox、Safari 等浏览器进行测试,支持多种语言(如 Python、Java、C#、Ruby、J

    2024年01月16日
    浏览(57)
  • 数据采集:selenium 获取某网站CDN 商家排名信息

    工作中遇到,简单整理 理解不足小伙伴帮忙指正 对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是随波逐流,是对内心的恐惧 ——赫尔曼·黑塞《德

    2024年02月11日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包