教你用python实现34行代码爬取东方财富网信息,爬虫之路,永无止境!!
Posted 主打Python
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了教你用python实现34行代码爬取东方财富网信息,爬虫之路,永无止境!!相关的知识,希望对你有一定的参考价值。
教你用python实现34行代码爬取东方财富网信息,爬虫之路,永无止境!!
代码展示:
开发环境:
windows10
python3.6
开发工具:
pycharm
weddriver
库:
selenium、lxml、openpyxl、time
安装webdriver
首先要安装webdriver插件,本文以谷歌浏览器为例,点开谷歌浏览器,点击右上角三个点,然后点击帮助,然后点击关于Google Chrome,查看浏览器的版本,然后点击网址http://npm.taobao.org/mirrors/chromedriver寻找自己浏览器对应的版本进行下载,下载之后将chromedriver.exe的文件最好放在你python解释器的同级目录下
进行标签定位
数据都在tbody标签里,tr代表一行的数据,有20个tr标签
构造一下网页翻页
dirver.find_element_by_xpath(r’//*[@id=“main-table_paginate”]/a[2]’).click()
开发思路:
1.自动化获取源码
2.xpath获取标签信息
3.将信息添加到表格
4.自动化翻页
5.循环上述操作
源码展示
import time
from openpyxl import Workbook
from lxml import etree
from selenium import webdriver
def main():
url = r'http://quote.eastmoney.com/center/gridlist.html#hs_a_board'
wb = Workbook()
sheet = wb.active
sheet.append(['序号','代码','名称','最新价','涨跌幅','涨跌额','成交量(手)','成交额','振幅','最高','最低','今开','昨收','量比','换手率','市盈率(动态)','市净率'])
dirver = webdriver.Chrome(executable_path=r'D:\\python\\chromedriver.exe')
dirver.get(url)
count = 1
while True:
response = dirver.page_source
html_str = etree.HTML(response)
for i in range(1,21):
odd = html_str.xpath(r'//*[@id="table_wrapper-table"]/tbody/tr[{}]//text()'.format(i))
del odd[3:8]
sheet.append(odd)
print('******正在下载{}页数据******'.format(count))
time.sleep(5)
dirver.find_element_by_xpath(r'//*[@id="main-table_paginate"]/a[2]').click()
count += 1
time.sleep(5)
if count == 4:
break
wb.save('东方财富网信息采集.xlsx')
print('****全部数据下载完成****')
if __name__ == '__main__':
main()
大家还可以继续开发
比如沪深A股的网址http://quote.eastmoney.com/center/gridlist.html#hs_a_board
上证A股的网址http://quote.eastmoney.com/center/gridlist.html#sh_a_board
区别是后面不一样
只要将url地址变一下就可以爬取其他股票信息
自动化还是很好用的,缺点有点慢,爬取所有股票信息只是时间问题了
代码仅供学习!
祝大家学习python顺利!
以上是关于教你用python实现34行代码爬取东方财富网信息,爬虫之路,永无止境!!的主要内容,如果未能解决你的问题,请参考以下文章
Python爬虫抓取东方财富网股票数据并实现MySQL数据库存储