最近在学习数据分析,就想着弄一份csv文件练手用,于是就爬取了股票信息,生成csv文件

爬取的网址:http://quote.eastmoney.com/ztb/detail#type=ztgc

网址信息使用的是动态加载,所以使用了selenium,我是使用的是谷歌浏览器,需要下载谷歌浏览器的驱动程序,下载地址:https://npm.taobao.org/mirrors/chromedriver/(谷歌浏览器最近更新了,已经下载好的朋友需要看一下更新过后的版本和驱动版本是否对应)

代码:

from lxml import etree
from fake_useragent import UserAgent
from selenium import webdriver
from time import sleep
import csv#伪装
ua = UserAgent()
headers = {'User-Agent':ua.random}def get_data(response):response = etree.HTML(response)#获取头信息heads = response.xpath('//*[@id="ztgctable"]/thead/tr//text()')#获取每只股票信息tr_list = response.xpath('//*[@id="ztgctable"]/tbody/tr')#用来存放所有的数据shares_data = []for i in tr_list:data = i.xpath('./td//text()')shares_data.append(data)return heads,shares_datadef to_scv(head,shares_data):# 一些麻烦的数据直接删掉del head[13]del head[15]with open(file='./shares_data.csv', mode='w', newline='', encoding='utf-8') as file:# 创建csv写入对象csv_file = csv.writer(file)# 写入头部信息csv_file.writerow(head)#写入股票信息for row in shares_data:#将’炸板次数‘为零的改为nan,在使用数据分析时可以用到if row[12] == '0':row[12] = 'nan'#麻烦的数据删掉del row[13:17]csv_file.writerow(row)print('csv文件生成成功')def main():web = webdriver.Chrome(executable_path='chromedriver.exe')# 发起请求web.get('http://quote.eastmoney.com/ztb/detail#type=ztgc')# 定位点击获取更多按钮btn = web.find_element_by_xpath('//*[@id="ztgctable"]/tfoot/tr/td')btn.click()#进入睡眠状态是因为点击获取更多后浏览器需要时间加载sleep(3)# 获取页面源代码response = web.page_sourceheads,shares_data = get_data(response)to_scv(heads,shares_data)
if __name__ == '__main__':main()

运行成功后,会在统计目录下生成shares_data.csv文件

针对代码说明:

本次代码只针对 ‘涨停股池’ 模块,几个模块对应的内容是不一样的。

本着多一事不如少一事的原则,删去了 ‘涨停统计’ 和‘加自选’ 列
‘炸板次数’ 为0次的将数据变为了nan,用于数据分析中的nan值处理使用

生成csv文件的部分内容(不得不说,csv文件看着真舒服):

用pandas读取一下试试:

import pandas as pd
data = pd.read_csv('shares_data.csv').head()
print(data)


需要csv文件的朋友可以直接下载,也可将复制代码运行一下。
下载地址:https://download.csdn.net/download/HAH_HAH/12319466

Python爬虫——爬取股票信息生成csv文件相关推荐

  1. Python爬虫——爬取股票信息

    Python爬虫--爬取股票信息 1. 准备工作 每一次浏览器访问网页,会自动向浏览器服务器发送本地的电脑信息(headers),远方服务器接收到信息后会反馈给你网页信息(response),然后电脑 ...

  2. 用python将爬取内容写入csv文件中用excel打开后的乱码问题

    在平时的数据采集中我们经常会将一些数据存入csv文件,但是有时候用excel打开csv文件会发现乱码. 可能有的人会问为什么不直接将数据写去excel中,而是先写入csv然后又用excel打开,不嫌麻 ...

  3. Python爬虫:爬取知乎上的视频,并把下载链接保存到md文件中

    Python爬虫:爬取知乎上的视频,并把下载链接保存到md文件中 1.需要的Python模块 主要是requests模块,用于得到的网页的数据 安装命令为:pip install requests 2 ...

  4. python爬虫爬取豆瓣电影排行榜并通过pandas保存到Excel文件当中

    我们的需求是利用python爬虫爬取豆瓣电影排行榜数据,并将数据通过pandas保存到Excel文件当中(步骤详细) 我们用到的第三方库如下所示: import requests import pan ...

  5. python爬虫爬取58同城租房信息(使用动态IP)输出Excel文件

    python爬虫爬取58同城信息(使用动态IP) 新手,为了做一个数据分析,搞了几天,终于搞出来了,大家可以给点意见啊. # coding=utf-8 import sys import csv im ...

  6. python 浏览器下载文件_同样一个下载地址,用python爬虫爬取的种子文件大小为0,而用浏览器是可以正常下载下来的?...

    1.访问某个网页,用浏览器可以下载其中嵌入的种子文件,种子文件大小是正常的,用迅雷工具也可以正常下载,但是用python爬虫爬取,并且下载下来的数据大小为0? 2.这是我自己写的代码. url = ' ...

  7. Python爬虫爬取酒店评价(携程)

    Python爬虫爬取携程酒店评价 审查携程酒店评价页面 最经有个需求是爬携程上某酒店的用户评价,在审查评论界面后发现了以下请求,贴一下: https://hotels.ctrip.com/Domest ...

  8. Python爬虫-爬取wallhaven壁纸

    Python爬虫-爬取wallhaven壁纸 前言 可行性分析 功能介绍 效果展示 基本思路 1.获取每页(1页24张)壁纸的url 2.获取每张壁纸缩略图的url 3.获取壁纸原图下载的url 4. ...

  9. 如何用六步教会你使用python爬虫爬取数据

    前言: 用python的爬虫爬取数据真的很简单,只要掌握这六步就好,也不复杂.以前还以为爬虫很难,结果一上手,从初学到把东西爬下来,一个小时都不到就解决了. python爬出六部曲 第一步:安装req ...

最新文章

  1. Arithmetic_Thinking -- greedy algorithm
  2. java 管道流PipedInputStream,PipedInputStream和随机访问文件 RandomAccessFile
  3. 32 commons-lang包学习
  4. Introduce Foreign Method(引入外加函数)
  5. 两种自定义表单设计方案 [转贴]
  6. python进阶16多继承与Mixin
  7. Java深入 - Java虚拟机性能问题监控和排查
  8. OpenCV Laplacian 拉普拉斯变换
  9. JavaEE学习02--HTTP协议
  10. B Start - 哔哩哔哩校招入职成长营
  11. 保险合同中的“不可抗辩条款”
  12. 同一个图表创建双坐标轴,显示多个图例
  13. 请你根据微信登录界面设计测试用例
  14. iOS开发之集成支付宝
  15. Linux 文档编辑 : let 命令详解
  16. 微信小程序开发入门教程(七)
  17. python机器人编程教程入门_机器人操作系统(ROS)入门必备:机器人编程一学就会...
  18. 九州云出席全球分布式云大会,基于5G MEC的车路协同创新引关注
  19. BERT论文翻译:用于语言理解的深度双向Transformer的预训练
  20. Ubuntu 下使用go语言调用ffmpeg推流

热门文章

  1. 软件外包项目管理实务
  2. 浅谈cookie跨域的解决方案——document.domain
  3. 强化学习gym的使用之Pendulum的训练
  4. DAU与GMV的差异,蛋鸡与肉鸡的区别
  5. DAU/MAU?UGC?
  6. 【PyTorch】随机种子 与 网络初始化
  7. 关于sessions.ser文件的一些思考
  8. 《java核心技术36讲》学习笔记-------杨晓峰(极客时间)
  9. New Document
  10. Ansys·Icem·T型喷管的网格生成