python 获取东方财富网站的数据

完整代码下载:https://github.com/tanjunchen/SpiderProject/tree/master/EastWealthWebsite

#!/usr/bin/env python
# -*- coding: utf-8 -*-import pandas as pd
from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.common.action_chains import ActionChains
from datetime import datetime
import timedef get_data(url):browser = webdriver.Chrome()WebDriverWait(browser, 10)browser.get(url)WebDriverWait(browser, 5, 0.5).until(EC.presence_of_element_located((By.ID, 'sidemenu')))above = browser.find_element_by_css_selector("#sidemenu > div > div.level-list > ul > li.sub-items.menu-hsindex-wrapper")ActionChains(browser).move_to_element(above).perform()lis = browser.find_elements_by_xpath("//*[@id='sidemenu']/div/div[2]/ul/li[7]/div/ul//li")for li in lis:print(li)if "指数成份" in li.text:# li.click()# get_page_num(browser, "指数成份")print()elif "上证系列指数" in li.text:# li.click()# get_page_num(browser, "上证系列指数")print()elif "深证系列指数" in li.text:li.click()get_page_num(browser, "深证系列指数")def get_page_num(browser, name):wait = WebDriverWait(browser, 10)try:wait.until(EC.presence_of_element_located((By.ID, 'main-table_next')))page = int(browser.find_element_by_xpath("//*[@id='main-table_paginate_page']/a[last()]").text)except Exception as e:print(e)page = 0i = 1df = pd.DataFrame()while i <= page:input_num = wait.until(EC.presence_of_element_located((By.XPATH, '//*[@class="paginate_input"]')))input_num.click()input_num.clear()input_num.send_keys(i)submit = wait.until(EC.element_to_be_clickable((By.XPATH, '//*[@class="paginte_go"]')))submit.click()data = pd.read_html(browser.page_source, converters={'代码': str})[0]data.drop(['序号'], axis=1, inplace=True)data['代码'].astype(str)print("正在爬取第" + str(i) + "页")df = df.append(data)i = i + 1time.sleep(2)df['指数'] = namedf.to_csv(datetime.now().strftime('%Y%m%d') + name + ".csv", index=False)print(name, "抓取数据成功")browser.implicitly_wait(10)if __name__ == '__main__':get_data('http://quote.eastmoney.com/center/boardlist.html#boards-BK01501')# search_next = browser.find_element_by_css_selector("#main-table_next")# while search_next.is_enabled():#     print("点击下一页")#     search_next.click()#     print(pd.read_html(browser.page_source)[0])

python 获取东方财富网站的数据相关推荐

  1. 如何解决 使用matplotlib.finance获取雅虎财经网站股票数据 报错?

    人工智能 python,大数据,机器学习,深度学习,计算机视觉 如何解决 使用matplotlib.finance获取雅虎财经网站股票数据 报错? 问题 方法 1.安装 mpl_finance 调用方 ...

  2. 使用Python获取股票单日成交数据

    本文主要介绍一个比较好的开源项目 Github:AKShare开源财经数据接口,该项目整合了各大财经网站的http接口:腾讯财经.新浪财经.网易财经.东财等....Github上介绍该项目是JetBr ...

  3. 可转债代码交流第二期:利用Python获取集思录数据(改)

    上期内容讲解了宁稳网数据获取的方法(用于初步计算未上市可转债价格),具体方法参考第一期:可转债代码交流第一期:利用Python获取宁稳网数据(包含基本的环境搭建与Python编辑器安装方法) 本人并非 ...

  4. 利用 Python 获取余额宝历史收益数据

    最近想做一个关于用一些指数基金与余额宝组成的简单 风险-无风险 投资组合的实验计算,发现通达信之类的行情软件并没有提供完整的余额宝收益信息,如通达信仅有年化收益率的数据,并没有万份收益的数据.因此考虑 ...

  5. Python爬取网站图片数据

    Python爬取网站图片数据 找到需要爬取的网站地址 模拟网站http请求 根据调试模式获取的了解读取到真实的地址url,读取请求头数据和参数信息,模拟http请求调用 import requests ...

  6. Python获取丁香园疫情数据并解析json数据

    Python获取丁香园疫情数据并解析json数据 在利用pyecharts V1.x版本,使用Map对象进行制图时,对数据格式的要求比较高,如果数据格式不正确可能达不到我们预期的效果.在我的前一篇文章 ...

  7. Python 获取股票K线数据

    前言 玩过股票的几乎都知道,股票历史交易日的开盘价.收盘价.最高价.最低价等指标是选股的重要依据.虽然仅仅依靠它们无法在股市中盆满钵满,但是运用好它确实能在较大程度上提高我们的赚钱概率. 当前的金融数 ...

  8. python获取id标签对应数据_Python--Scrapy爬虫获取简书作者ID的全部文章列表数据

    最近Python大火,为了跟上时代,试着自学了下.Scrapy是一个高级的Python爬虫框架,它不仅包含了爬虫的特性,还可以方便的将爬虫数据保存到csv.json等文件中. 今天我们就试着用Scra ...

  9. 通达信行情数据获取--python_利用 Python 获取余额宝历史收益数据

    最近想做一个关于用一些指数基金与余额宝组成的简单 风险-无风险 投资组合的实验计算,发现通达信之类的行情软件并没有提供完整的余额宝收益信息,如通达信仅有年化收益率的数据,并没有万份收益的数据.因此考虑 ...

最新文章

  1. 【译】CREDITS: Peer-to-peer (P2P) network and its components
  2. [css] absolute的containing block(容器块)计算方式和正常流有什么区别?
  3. SaaS模式云数据仓库:持续保护云上数据及服务安全
  4. [UI] 精美UI界面欣赏[8]
  5. ZOJ Problem Set - 1009
  6. 一米机器人解绑再绑定_安顿问答027:安顿APP里的角色绑定错了,可以更改吗?...
  7. 股票财务指标数据获取,附代码
  8. Chinalinuxpub.com初学版精华
  9. 搜狗AI走向产业改造:纵横捭阖术与录音笔的新声态
  10. 实现微信公众号自定义分享功能,分享给朋友,分享到朋友圈,点击链接,获取点击分享者的openid。
  11. 凡事逐步积累万丈高楼平地起事情的必然趋势
  12. Linux网络开始收发包之前需要做的事情——创建ksoftirqd内核进程
  13. jQuery中的动画 -- 案例
  14. 有趣的编程(一)——海盗分金币问题如何编程求解
  15. 编写一个函数判断一个整数是不是素数c语言,编写函数判断一个整数是否为素数....
  16. 计算机毕业设计ssm水果生鲜销售系统7826c系统+程序+源码+lw+远程部署
  17. 跟叶子学把妹——教程序猿把妹第七集
  18. 如何使用艺术字功能?怎么把字体转换成艺术字体?
  19. 爱米云网盘v1.9.4去插件绿色官方版
  20. psp上的AFS包结构

热门文章

  1. Windows 7 USB/DVD download tool 烧录U盘失败解决办法
  2. 手把手教你制作一个简单的聊天机器人(图灵api)
  3. RecyclerView使用static和不使用static的Viewholder内存消耗相差无几
  4. mobi怎么在PC电脑上打开?
  5. 吃透Chisel语言.15.Chisel模块详解(二)——Chisel模块嵌套和ALU实现
  6. Linux运行指令(axel多线程下载工具)
  7. 伪造老板声音要求转账,被AI骗走173万!
  8. 达内java面试题集_达内java面试题
  9. 黑马程序员------毕老师视频笔记第18-21天------IO输入与输出(2)
  10. 音频特征提取工具librosa