爬虫实例十二 沪深证券股票全站数据爬取

2023-11-13

先上代码

import requests
from lxml import etree
import openpyxl
import time
import random

#新建workbook对象
wb=openpyxl.Workbook()
#创建正在操作的表
sheet = wb.active
#设置表头
sheet.append(['股票名称','股票代码','最新价','涨跌幅','涨跌额','成交量','成交额','今开','昨收','最高','最低'])

#遍历全站单页链接并解析数据
for p in range(0,100):
   url="https://hq.gucheng.com/HSinfo/XSHE/?en_hq_type_code=XSHE&sort_field_name=px_change_rate&sort_type=desc&page="+str(p)
   headers={
      "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"
   }
   html=requests.get(url=url,headers=headers).text
   time.sleep(random.randint(1,3))
   tree=etree.HTML(html)
   GP_name=tree.xpath("//tbody/tr/td[1]/a/text()")
   GP_number=tree.xpath("//tbody/tr/td[2]/a/text()")
   NEW_price=tree.xpath("//tbody/tr/td[3]/text()")
   UP_DOWN=tree.xpath("//tbody/tr/td[4]/text()")
   Rise_fall=tree.xpath("//tbody/tr/td[5]/text()")
   Turnover_one=tree.xpath("//tbody/tr/td[6]/text()")
   Turnover_two=tree.xpath("//tbody/tr/td[7]/text()")
   day=tree.xpath("//tbody/tr/td[8]/text()")
   yesterday=tree.xpath("//tbody/tr/td[9]/text()")
   hightly=tree.xpath("//tbody/tr/td[10]/text()")
   lowly=tree.xpath("//tbody/tr/td[11]/text()")
   # 将数据添加进列表
   datas=[]
   for j in range(0,len(UP_DOWN)):
      data=[GP_name[j],GP_number[j],NEW_price[j],UP_DOWN[j],Rise_fall[j],
            Turnover_one[j],Turnover_two[j],day[j],yesterday[j],hightly[j],lowly[j]]
      datas.append(data)
   for s in datas:
      sheet.append(s)
   wb.save('100页股票数据.xlsx')

目标网址:
https://hq.gucheng.com/HSinfo/XSHE/?en_hq_type_code=XSHE&sort_field_name=px_change_rate&sort_type=desc&page=3

在这里插入图片描述
这个网站跟房产排行一样也是没有动态加载,所以也是没啥难度,但数据用来做大数据练习还是不错的

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

爬虫实例十二 沪深证券股票全站数据爬取 的相关文章

随机推荐

  • 华为OD机试 - 英文输入法(Java)

    题目描述 主管期望你来实现英文输入法单词联想功能 需求如下 依据用户输入的单词前缀 从已输入的英文语句中联想出用户想输入的单词 按字典序输出联想到的单词序列 如果联想不到 请输出用户输入的单词前缀 注意 英文单词联想时 区分大小写 缩略形式
  • requests库学习

    requests库学习 requests快速上手 http 2 python requests org zh CN latest user quickstart html Requests库是用来发送HTTP请求 接收HTTP响应的一个Py
  • ES使用中遇到的坑

    1 ES分页超过10000条报错 es 默认采用的分页方式是 from size 的形式 是一种逻辑上的分页 在深度分页的情况下 采用from to方式进行分页效率会非常的低 例如以下查询 1 GET student doc search
  • 记一次在k8s集群搭建的Harbor私有仓库无法提供服务之镜像迁移恢复实践

    本章目录 记一次在k8s集群搭建的Harbor私有仓库无法提供服务之镜像迁移恢复实践 描述 Harbor 是一个用于存储和分发Docker镜像的企业级Registry服务器 通过添加一些企业必需的功能特性 例如安全 标识和管理等 扩展了开源
  • 内网隧道代理技术(十七)之 NPS的使用

    NPS的介绍和使用 NPS介绍 nps是一款轻量级 高性能 功能强大的内网穿透代理服务器 目前支持tcp udp流量转发 可支持任何tcp udp上层协议 访问内网网站 本地支付接口调试 ssh访问 远程桌面 内网dns解析等等 此外还支持
  • [752]压力测试工具-ab工具

    在学习ab工具之前 我们需了解几个关于压力测试的概念 吞吐率 Requests per second 概念 服务器并发处理能力的量化描述 单位是reqs s 指的是某个并发用户数下单位时间内处理的请求数 某个并发用户数下单位时间内能处理的最
  • JS进阶第三篇:开发中对数组及对象的判断方法

    系列文章传送门 JS进阶第一篇 手写call apply bind JS进阶第二篇 函数参数按值传递 文章目录 JS判断数组 1 通过instanceof运算符判断 2 通过constructor判断 3 通过数组自带的isArray方法判
  • ESP32-C3 应用 篇(实例二、通过蓝牙将传感器数据发送给手机,手机端控制 SK6812 LED)

    ESP32 C3 蓝牙部分我们学习了GATT 本文尝试使用蓝牙做一个简单的小应用 目录 前言 一 整体框架 二 数据传输部分 2 1 添加温湿度驱动组件 2 2 传感器数据传输程序 再次说明 ESP GATTS READ EVT 事件 2
  • Git版本控制器的基本使用

    摘要 Git 是一个分布式版本控制软件 最初本是为了更好的管理Linux内核开发而被林纳斯 托瓦兹开发 后来因为项目开发中版本控制的强烈需求 而git也日趋成熟 最终成为了一个独立的版本控制软件 git 分布式 版本控制 目录 关于git
  • 正则表达式匹配第一个单个字符

    匹配单字符 数字 d表示0 9的数字 只匹配一个 import re result re match r d 3python print result result re match r d python3 print result 运行结
  • ipsec.secrets

    IPSEC SECRETS 5 strongSwan IPSEC SECRETS 5 NAME ipsec secrets secrets for IKE IPsec authentication DESCRIPTION The file
  • 多元共进|科技促进艺术发展,助力文化传承

    科技发展助力文化和艺术的传播 融合传统与创新 碰撞独特魅力 一起来了解 2023 Google 开发者大会上 谷歌如何依托科技创新 推动艺术与文化连接 传承和弘扬传统文化 自 2011 年成立以来 谷歌艺术与文化致力于提供体验艺术和文化的新
  • 使用OpenResty搭建简单的文件服务器

    前言 前几天使用nginx nginx upload module python 回调处理程序 搭建了一个简单的文件服务器 网上很多人都建议使用Lua去扩展nginx的功能 所以琢磨了下如何使用Lua语言去对nginx去做功能扩展 网上查阅
  • 网络上的学习笔记 Hadoop

    1 如今有10个文件夹 每个文件夹都有1000000个url 如今让你找出top1000000url 1 运用2个job 第一个job直接用filesystem读取10个文件夹作为map输入 url做key reduce计算个url的sum
  • 【弹性分布式EMA】在智能电网中DoS攻击和虚假数据注入攻击(Matlab代码实现)

    欢迎来到本博客 博主优势 博客内容尽量做到思维缜密 逻辑清晰 为了方便读者 座右铭 行百里者 半于九十 本文目录如下 目录 1 概述 1 1 FDIA攻击 1 2 DoS攻击 2 运行结果 3 参考文献 4 Matlab代码实现 1 概述
  • Java 正则提取短信签名

    使用java 正则表达式提取短信签名 import java util regex Matcher import java util regex Pattern public class ExtractSmsSignature 匹配中括号内
  • 安装ESXi

    1 简介 ESXi是vmware推出的一款优秀的服务器级别的虚拟机 它与我们常用的虚拟机不同的是 日常使用的虚拟机是需要依赖于一个操作系统的 比如在window上使用vmware 或者linux上使用virtualbox 而ESXi不依赖于
  • 【多模态】1、几种多模态 vision-language 任务和数据集介绍

    文章目录 一 Phrase Grounding 1 1 概念介绍 1 2 常用数据集介绍 1 3 评估指标 二 Referring Expression Comprehension REC 2 1 概念介绍 2 2 常用数据集介绍 三 Vi
  • cmd相关命令

    查看本地端口占用问题并进行处理 1 查看所有的端口及相关信息 命令 netstat ano 2 找到对应的端口对应的PID 输入指令找到对应的进程 tasklist findstr 7676 7676表示pid 3 杀掉该进程 再次启动就O
  • 爬虫实例十二 沪深证券股票全站数据爬取

    先上代码 import requests from lxml import etree import openpyxl import time import random 新建workbook对象 wb openpyxl Workbook