IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 东方财富单页tables数据爬取selenium -> 正文阅读

[开发测试]东方财富单页tables数据爬取selenium

作者:recommend-item-box type_blog clearfix

爬取当天龙虎榜买入机构大于2并且涨停的股票

龙虎榜机构每日买卖网址:机构买卖每日统计 _ 数据中心 _ 东方财富网

首先将当前页面的数据获取下来:

# 设置变量url
url = 'http://data.eastmoney.com/stock/jgmmtj.html'
# 设置发那个问的浏览器的路径,webdriver放在python目录下,不用设置路径
path = 'F:\\program\\ProgramData\\ancondas3\\chromedriver.exe'
option = webdriver.ChromeOptions()   # 网址获取
# option.add_argument('headless')     # 网址不弹出
browser = webdriver.Chrome(options=option, executable_path=path)
browser.get(url)
time.sleep(2)

element = browser.find_element_by_xpath('//*[@id="dataview"]/div[2]/div[2]/table')
# 获取表body
tbody_content = element.find_elements_by_css_selector('#dataview > div.dataview-center > div.dataview-body > table > tbody > tr')
# 将表body str存储为list
tbody_str = []
for tbody in tbody_content:
    tbody_str.append(tbody.text)
print(tbody_str)

用到的方法是selenium的元素定位:

  • find_element_by_xpath(‘xpath’)去网址按F12,用元素查找,找到table元素位置,右键copy->xpath
  • find_elements_by_css_selector('selector‘)方法同上,copy->selector

获取到的table数据,每一行是一个字符串,中间用空格隔开的,所以需要自己清洗数据:

# 将body的每一行信息拆分存储为list
tbody_series = []
for str in tbody_str:
    str = str.replace('%', '')  # 去掉字符串中的%,以便后面进行计算数据
    list = str.split(' ', 16)
    tbody_series.append(list)
# 将数据转为DataFrame,加上列名
df_lhb = pd.DataFrame(tbody_series).loc[:, [1, 2, 5, 6, 7]].rename(
    columns={1: '股票代码', 2: '股票名称', 5: '收盘价', 6: '涨幅', 7: '买入机构'})
# print(df_lhb)
df_lhb['涨幅'] = df_lhb['涨幅'].astype(float)
df_lhb['买入机构'] = df_lhb['买入机构'].astype(int)
print(df_lhb)

用到的发方法就是:list = str.split(''),字符串里带有%,用str.replace('%', '')去掉%,然后,转为DFrame格式,返回的结果如下:

然后计算涨幅大于2并且涨停的股票:

result = df_lhb[(df_lhb['买入机构'] >= 2) & (df_lhb['涨幅'] > 9.95)]
print(result)

结果如下:

?后面研究翻页爬取,这个方法爬取数据很慢,还要继续学习研究

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-09-24 10:54:53  更:2021-09-24 10:56:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 0:16:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码