selenium库的使用

项目的灵感

今天准备去码市上找几个实战的项目来练练手,于是就发现了这个项目(这个项目已经结束)

他还有两个需求,后面两个需求都差不多,我就不再去写代码了

必要知识

1.对于一些初级的知识,我之前的博客都有写,你们可以去看看
2.selenium的无界面化操作
self.opt = Options()
self.opt.add_argument('--no-sandbox')  # 解决DevToolsActivePort文件不存在的报错
self.opt.add_argument('window-size=1920x3000')  # 设置浏览器分辨率
self.opt.add_argument('--disable-gpu')  # 谷歌文档提到需要加上这个属性来规避bug
self.opt.add_argument('--hide-scrollbars')  # 隐藏滚动条,应对一些特殊页面
self.opt.add_argument('blink-settings=imagesEnabled=false')  # 不加载图片,提升运行速度
self.opt.add_argument('--headless')  # 浏览器不提供可视化界面。Linux下如果系统不支持可视化不加这条会启动失败
# opt.binary_location = r"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" # 手动指定使用的浏览器位置
self.driver=Chrome(options=self.opt)
#创建无界面对象

由于我主要是封装到类里面的,所以会有self,不需要的只要删除self就好

3.xlwt的保存数据
# 创建一个workbook 设置编码
workbook = xlwt.Workbook(encoding='utf-8')
# 创建一个worksheet
worksheet = workbook.add_sheet('股票最新价格')
# 写入excel
# 参数对应 行, 列, 值
worksheet.write(0, 0, "个股代码")
worksheet.write(0, 1, "个股名称")
worksheet.write(0, 2, "最新价格")
for i in range(len(number)):worksheet.write(i + 1, 0, number[i])worksheet.write(i + 1, 1, name[i])worksheet.write(i + 1, 2, money[i])
workbook.save('股票最新价格.xls')

完整的代码展示

import xlwt
import parsel
from selenium.webdriver import Chrome
from selenium.webdriver.chrome.options import Options
import time
class get_gupaio():def __init__(self):url = "http://quote.eastmoney.com/center/gridlist.html"self.opt = Options()self.opt.add_argument('--no-sandbox')  # 解决DevToolsActivePort文件不存在的报错self.opt.add_argument('window-size=1920x3000')  # 设置浏览器分辨率self.opt.add_argument('--disable-gpu')  # 谷歌文档提到需要加上这个属性来规避bugself.opt.add_argument('--hide-scrollbars')  # 隐藏滚动条,应对一些特殊页面self.opt.add_argument('blink-settings=imagesEnabled=false')  # 不加载图片,提升运行速度self.opt.add_argument('--headless')  # 浏览器不提供可视化界面。Linux下如果系统不支持可视化不加这条会启动失败# opt.binary_location = r"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" # 手动指定使用的浏览器位置self.driver=Chrome(options=self.opt)#创建无界面对象self.driver.implicitly_wait(10)self.driver.get(url)def get_one_page(self,content):# print(content)sel=parsel.Selector(content)number=sel.xpath("//tbody/tr/td[2]/a/text() ").getall()# print(number)# print(len(number))name=sel.xpath("//tbody/tr/td[@class='mywidth']/a/text()").getall()# print(name)money=sel.xpath("//tbody/tr/td[5]/span/text()").getall()# print(money)# print(len(money))return number,name,moneydef save_data(self,number,name,money):# 创建一个workbook 设置编码workbook = xlwt.Workbook(encoding='utf-8')# 创建一个worksheetworksheet = workbook.add_sheet('股票最新价格')# 写入excel# 参数对应 行, 列, 值worksheet.write(0, 0, "个股代码")worksheet.write(0, 1, "个股名称")worksheet.write(0, 2, "最新价格")for i in range(len(number)):worksheet.write(i + 1, 0, number[i])worksheet.write(i + 1, 1, name[i])worksheet.write(i + 1, 2, money[i])workbook.save('股票最新价格.xls')def run(self):number = []name = []money = []for i in range(10):self.driver.find_element_by_xpath("/html/body/div[1]/div[2]/div[2]/div[5]/div/div[2]/div/input").clear()self.driver.find_element_by_xpath("/html/body/div[1]/div[2]/div[2]/div[5]/div/div[2]/div/input").send_keys(i + 1)self.driver.find_element_by_xpath("/html/body/div[1]/div[2]/div[2]/div[5]/div/div[2]/div/a[3]").click()time.sleep(1)content = self.driver.page_source(a, b, c) = self.get_one_page(content)number.extend(a)name.extend(b)money.extend(c)print(number)print(name)print(money)self.save_data(number, name, money)self.driver.quit()
get_gupaio().run()

selenium实战爬取股票相关推荐

  1. Python爬虫应用实战-爬取股票数据做分析

    01 本文涉及到的知识点 1.python字符串:分割.拼接.中文字符判断: 2.python正则表达式: 3.爬虫requests请求库.xpath获取数据.代理服务器: 4.selenium用法: ...

  2. 用 Python selenium爬取股票新闻并存入mysql数据库中带翻页功能demo可下载

    用 Python selenium爬取实时股票新闻并存入mysql数据库中 1.分析需求 2.创建表 3.分析需要爬取的网页内容 4.python里面selenium进行爬虫操作 1.添加包 2.连接 ...

  3. Python爬虫实战使用scrapy与selenium来爬取数据

    系列文章目录 实战使用scrapy与selenium来爬取数据 文章目录 系列文章目录 前言 一.前期准备 二.思路与运行程序 1.思路 2.运行程序 三.代码 1.代码下载 2.部分代码 总结 前言 ...

  4. python爬虫实战-爬取视频网站下载视频至本地(selenium)

    #python爬虫实战-爬取视频网站下载视频至本地(selenium) import requests from lxml import etree import json from selenium ...

  5. python项目实战:爬取东方财富热门股票数据

    前言 今天为大家分享一个用Python爬取股票的今开 成交量 ,最高, 涨停, 内盘 ,成交额 ,委比 ,流通市值市盈率MRQ ,每股收益总股本 ,昨收 ,换手率, 跌停等一系列信息,能够帮你更好的分 ...

  6. 用Python爬取股票数据,绘制K线和均线并用机器学习预测股价(来自我出的书)

    最近我出了一本书,<基于股票大数据分析的Python入门实战 视频教学版>,京东链接:https://item.jd.com/69241653952.html,在其中用股票范例讲述Pyth ...

  7. 用Python爬取股票数据,绘制K线和均线并用机器学习预测股价

    最近我出了一本书,<基于股票大数据分析的Python入门实战 视频教学版>,在其中用股票范例讲述Python爬虫.数据分析和机器学习的技术,大家看了我的书,不仅能很快用比较热门的案例学好P ...

  8. 爬取股票的历史数据(个股)

    股票的历史数据爬取 爬取网易财经的个股历史数据 爬取链接:http://quotes.money.163.com/trade/lsjysj_000001.html? 先爬取股票的对应的代码 爬取股票代 ...

  9. 用Python爬取股票数据,绘制K线和均线并用机器学习预测股价(来自我出的书)(转载)

    最近我出了一本书,<基于股票大数据分析的Python入门实战 视频教学版>,京东链接:https://item.jd.com/69241653952.html,在其中用股票范例讲述Pyth ...

  10. MATLAB爬虫爬取股票数据

    近年来,大数据盛行,有关爬虫的教程层次不穷.那么,爬虫到底是什么呢? 什么是爬虫? 百度百科是这样定义的: 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种 ...

最新文章

  1. supervisor安装部署和使用实例
  2. linux如何切换到光盘,怎么刻录cd光盘-Linux切换目录之cd命令详解
  3. [html] html中如何使用svg?
  4. Java LinkedHashMap类
  5. wpf 写个简单的控件吧
  6. 初学python100例-案例23 python输出菱形图案 青少年python编程 少儿编程案例讲解
  7. 基于树莓派的人脸识别(Linux系统 百度智能云平台)
  8. HPZ420 工作站主板图
  9. k8s节点加入master节点时超时:Initial timeout of 40s passed
  10. 让我带你一起了解一下 ls -l 命令输出的内容都有哪些意义,以及文件权限如何调整
  11. C++ 3D 绘图技术调研常用库介绍
  12. 深度卷积神经网络之AlexNet
  13. C语言数据结构——广义表
  14. 【C语言练习4】根据公式计算π的值,π=4-4/3+4/5-4/7+4/9+... 打印出一个表格来显示,用公式中的1项、2项、3项...计算出来π的近似值
  15. LLVM和Clang背后的故事
  16. 小程序js判断是否为图片
  17. ScrollPic.js——图片左右滚动插件(单一功能)
  18. 网盘(你还在受制于人?暴露隐私、公司数据文件?教你搭建个人/企业私有云盘)
  19. egg.js框架的基本设置 及 使用
  20. 【180927】坦克大战游戏源码

热门文章

  1. 【plotly+ datashader+mapbox】Uber纽约上车点可视化/解决超大量地理数据可视化
  2. Latex algorithm Input Output
  3. 离散——在谓词演算的推理过程中为什么要先消去存在量词再消去全称量词
  4. 邮箱如何发邮件?邮箱怎么发邮件,掌握这几点,轻松搞定
  5. 【2014/10/28】Python string类型
  6. Linux系统变慢原因?
  7. 下一个冷链独角兽:C轮融资后,九曳供应链如何撬动生鲜市场?
  8. FMI飞马网 | AI人工智能/大数据/Database/Linear Algebra/Python/机器学习/Hadoop 有哪些书籍?福利可下载!
  9. 毕业设计之甘特图制作
  10. linux 创建gpt分区,parted创建GPT分区