爬虫—中信证券资管产品抓取

news2025/3/1 21:21:01

爬虫—中信证券资管产品抓取

中信证券资管产品板块网址:http://www.cs.ecitic.com/newsite/cpzx/jrcpxxgs/zgcp/

页面截图如下:

Screenshot 2024-01-13 at 21.10.34

目标:抓取上图中红框内的所有资产信息

按F12进入开发者工具模式,在Elements板块下,在搜索框内输入“//ul[@class=“list-con”]/li",匹配ul列表里的所有资管产品的li标签,如图:

Screenshot 2024-01-13 at 21.14.53

抓取单页数据,源码如下:

import requests
from lxml import etree


headers = {
    'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
}

url = 'http://www.cs.ecitic.com/newsite/cpzx/jrcpxxgs/zgcp/index.html'

res = requests.get(url, headers=headers)

res.encoding = res.apparent_encoding

data = res.text

tree = etree.HTML(data)

# 获取每个li标签
li_lst = tree.xpath('//ul[@class="list-con"]/li')

i = 1
for li in li_lst:
    print(str(i)+'.', ', '.join(li.xpath('./span/text()')))
    i += 1

运行结果如下:

Screenshot 2024-01-13 at 21.21.08

本案例只抓取第一页的资管产品信息,如果想抓取多页,可以自行修改代码。

抓取多页数据,源码如下:

import requests
from lxml import etree

headers = {
    'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
}


# 定义一个函数,抓取每页的数据
def get_page(page_url):
    res = requests.get(page_url, headers=headers)

    res.encoding = res.apparent_encoding

    data = res.text

    tree = etree.HTML(data)

    # 获取每个li标签
    li_lst = tree.xpath('//ul[@class="list-con"]/li')

    i = 1
    for li in li_lst:
        print(str(i) + '.', ', '.join(li.xpath('./span/text()')))
        i += 1


# 抓取前4页的数据
for page_n in range(4):
    # 格式化资管产品的页面网址
    page_url = f'http://www.cs.ecitic.com/newsite/cpzx/jrcpxxgs/zgcp/index_{page_n}.html'
    # 第一页的资管产品网址
    if page_n == 0:
        page_url = 'http://www.cs.ecitic.com/newsite/cpzx/jrcpxxgs/zgcp/index.html'
    print(f'第{page_n + 1}页资管产品:')

    get_page(page_url)

运行结果如下:

Screenshot 2024-01-13 at 21.55.31

思考:如果抓取任意页数的数据,可以参考如下代码。

# 定义一个页数变量
page_num = input('请输入要抓取的页数: ')

把抓取多页源码的range()内的数字替换为page_num,要转成整型数据int(page_num).....

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1382262.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

学习redis有效期和数据类型

1、安装redis和连接redis 参考:ubuntu安装单个redis服务_ubuntu redis单机版安装-CSDN博客 连接redis:redis-cli.exe -h localhost -p 6379 -a 123456 2、Redis数据类型 以下操作我们在图形化界面演示。 2.1、五种常用数据类型介绍 Redis存储的是key…

大创项目推荐 深度学习疲劳检测 驾驶行为检测 - python opencv cnn

文章目录 0 前言1 课题背景2 相关技术2.1 Dlib人脸识别库2.2 疲劳检测算法2.3 YOLOV5算法 3 效果展示3.1 眨眼3.2 打哈欠3.3 使用手机检测3.4 抽烟检测3.5 喝水检测 4 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习加…

Sonar Qube基本使用

中文化 Sonar Qube的使用方式很多,Maven可以整合,也可以采用sonar-scanner的方式,再查看Sonar Qube的检测效果 Sonar-scanner实现代码检测 下载Sonar-scanner:https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/…

线性代数——(期末突击)概率统计习题(概率的性质、全概率公式)

目录 概率的性质 题一 全概率公式 题二 题三 概率的性质 有限可加性: 若有限个事件互不相容,则 单调性: 互补性: 加法公式: 可分性: 题一 在某城市中共发行三种报纸:甲、乙、丙。在这个…

[Vue]从数据库中动态加载阿里巴巴矢量图标的两种方式

记录一次在Vue中动态使用阿里巴巴矢量图标库 这是本人第一次使用阿里巴巴的矢量图标库,简单的导入和使用的话网上的教程很多,这里不多赘述,本人的需求是从数据库中加载出来并且显示到页面上,接下来简述一下如何实现。 以下代码均是…

解锁思维潜能,畅享XMind 2024 Mac/win中文版思维导图软件

XMind 2024是一款功能强大的思维导图软件,旨在帮助用户提高工作效率和组织思维。它的核心特点包括多平台同步、强大的协作功能和丰富的导图模板。 首先,XMind 2024支持多平台的无缝同步,用户可以在电脑、手机和平板上随时随地访问和编辑自己…

gpu显卡简介

一、目录 1.基本常用参数 2. nvidia 显卡基本了解(基本简介) 3. 显卡查看算力 4. 显卡算力、驱动版本(Driver Version)、CUDA Toolkit(CUDA Version)、PyTorch版本之间的关系 5. 显卡安装流程 6. NVIDIA显卡简介 二、实现 基本常…

Android14实战:打破音频默认重采样的限制(五十二)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只…

在 Windows 11 上通过 Autoawq 启动 Mixtral 8*7B 大语言模型

在 Windows 11 上通过 Autoawq 启动 Mixtral 8*7B 大语言模型 0. 背景1. 安装依赖2. 开发 main.py3. 运行 main.py 0. 背景 看了一些文章之后,今天尝试在 Windows 11 上通过 Autoawq 启动 Mixtral 8*7B 大语言模型。 1. 安装依赖 pip install torch torchvision …

nmealib库编译提示 undefined reference to `ceil‘

一、问题描述 下载了nmealib库文件,默认工程进行编译,报错,提示如下: gcc -I include -c src/generate.c -o build/nmea_gcc/generate.o gcc -I include -c src/generator.c -o build/nmea_gcc/generator.o ar rsc lib/libnm…

2024年AMC8模拟考试实测流程、注意事项和常见问题

和往年的AMC8比赛一样,在正式比赛的前一周左右会开放两天的模拟考试时间,AMC8的主办方建议所有的参赛选手重视且参加模拟考试,以测试设备、熟悉流程,避免将来正式考试不小心违规,或者设备不给力。 2024年的AMC8模拟考…

ChatGPT能帮助我们人类做什么

一、ChatGPT可以在多个方面帮助人类: 回答问题: ChatGPT可以回答各种问题,提供信息和解释概念。 创造性写作: 它可以生成文章、故事、诗歌等创意性文本。 学术辅助: ChatGPT可以辅助学术研究,提供解释、背…

远程开发之vacode插件Remote - SSH

远程开发之vacode插件Remote - SSH vscode插件(Remote - SSH)ssh config自定义配置跳板机ssh-agent配置(使ForwardAgent配置生效, 免密拉代码)拷贝公钥到服务器(实现免密登录服务器) 通过vscode的Remote - SSH插件, 实现远程服务器进行像本地操作一样使用远程服务器, 亦可进行像…

前端重置密码报错记录

昨天晚上,我写了重置密码的前端,测试的时候报错 今天上午,我继续试图解决这个问题,我仔细检查了一遍,前端没有问题 可以正常接收输入的数据并且提交 但是后端接收到的数据为空,后端接口也没有问题 但后端收…

sklearn岭回归

文章目录 基本原理sklearn实现 基本原理 最小二乘法的判定条件是 min ⁡ w ∥ X w − y ∥ 2 2 \min_w\Vert Xw-y\Vert_2^2 wmin​∥Xw−y∥22​ 其中, min ⁡ w F ( w ) \min_w F(w) minw​F(w)表示 F ( w ) F(w) F(w)最小时的 w w w; w w w是拟合参数…

阿里云高性能云服务器_云主机_云服务器详解

阿里云高性能云服务器60%单实例最大性能提升,35Gbps内网带宽,网络增强&通用型云服务器、本地SSD型云服务器、大数据型云服务器、GPU异构型云服务器,阿里云百科aliyunbaike.com分享阿里云高性能云服务器: 阿里云高性能云服务器…

【计算机组成原理】高速缓冲存储器 Cache 的常用替换算法(Replacement Algorithm)

替换算法 Replacement Algorithm 缓存替换算法用于确定在缓存满时需要替换哪些缓存块以便为新的数据腾出空间。 先进先出 First-In-First-Out FIFO算法将最早进入缓存的块替换出去。这种算法实现较为简单,但可能导致早被访问的数据被频繁替换,而近期使…

电子学会C/C++编程等级考试2021年09月(四级)真题解析

C/C++编程(1~8级)全部真题・点这里 第1题:最佳路径 如下所示的由正整数数字构成的三角形: 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,和最大的路径称为最佳路径。你的任务就是求出最佳路径…

【深度学习】Anaconda3 + PyCharm 的环境配置 3:GitHub 项目运行前的环境配置

前言 文章性质:实操记录 💻 主要内容:主要记录了运行 GitHub 项目前的环境配置过程,包括创建并激活新的虚拟环境、安装 torch 和 torchvision,在 PyCharm 中使用新建的虚拟环境,根据项目源代码提供的 requi…

FlinkAPI开发之窗口(Window)

案例用到的测试数据请参考文章: Flink自定义Source模拟数据流 原文链接:https://blog.csdn.net/m0_52606060/article/details/135436048 窗口的概念 Flink是一种流式计算引擎,主要是来处理无界数据流的,数据源源不断、无穷无尽。…