首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python3 爬虫第二步Selenium 使用简单方式抓取复杂页面信息

Selenium 简介 该系列专栏上一篇爬虫文章点击这里。 网站复杂度增加,爬虫编写方式也会随着增加。使用Selenium 可以通过简单方式抓取复杂网站页面,得到想要信息。...Selenium 是操作浏览器进行自动化,例如自动化访问网站,点击按钮,进行信息采集,对比直接使用bs4 抓取信息,Selenium抓取速度是有很大缺陷,但是如果抓取页面不多,页面复杂时,使用Selenium...本文将会使用Selenium 进行一些简单抓取,想要深入学习Selenium 可以查看我之前写过selenium3 底层剖析》 上 下 两篇。...以上省略了浏览器自动打开并搜索内容过程,直接查看了结果。 那么我们每一都获取第一个结果,这时只需要自动点击下一获取即可。 首先得到下一按钮元素对象: ?...('//*[@id="page"]/div/a[10]') nextbtn_element.click() 运行发现成功跳转到第二,接下来可以继续获取搜索栏第一个对象,可以使用循环实现这个过程,我们设定去搜索前

2.2K20

使用Selenium爬取淘宝商品

开始之前,请确保已经正确安装好Chrome浏览器并配置好了ChromeDriver;另外,还需要正确安装PythonSelenium库;最后,还对接了PhantomJS和Firefox,请确保安装好...q=iPad,呈现就是第一页搜索结果,如下图所示。 ? 页面下方,有一个分页导航,其中既包括前5链接,也包括下一链接,同时还有一个输入任意页码跳转链接,如下图所示。 ?...这里不直接点击“下一原因是:一旦爬取过程中出现异常退出,比如到50退出了,此时点击“下一”时,就无法快速切换到对应后续页面了。...当我们成功加载出某一商品列表时,利用Selenium即可获取页面源代码,然后再用相应解析库解析即可。这里我们选用pyquery进行解析。下面我们用代码来实现整个抓取过程。 5....那么,怎样知道有没有跳转到对应页码呢?我们可以注意到,成功跳转某一,页码都会高亮显示,如下图所示。 ?

3.6K70
您找到你想要的搜索结果了吗?
是的
没有找到

Python爬取东方财富网上市公司财务报表

接着,我们点击下一按钮,可以看到表格更新url没有发生改变,可以判定是采用了Javscript。那么,我们首先判断是不是采用了Ajax加载。...可以看到只有一个Ajax请求,点击下一也并没有生成新Ajax请求,可以判断该网页结构不是常见那种点击下一或者下拉会源源不断出现Ajax请求类型,那么便无法构造url来实现分页爬取。 ?...举个例子,写几行python代码就可以用Selenium实现登录IT桔子,然后浏览网页功能。 ? 怎么样,仅用几行代码就能实现自动上网操作,是不是挺神奇?...可以看到,表格所有的数据我们都抓取到了,下面只需要进行分页循环爬取就行了。 这里,没有抓取表头是因为表头有合并单元格,处理起来就非常麻烦。建议表格抓取下来excel中复制表头进去就行了。...这里,我们测试一下前4跳转效果,可以看到网页成功跳转了。下面就可以对每一应用第一页爬取表格内容方法,抓取每一表格,转为DataFrame然后存储到csv文件中去。 ? 4.4.

13.6K46

爬虫学习笔记:Selenium爬取淘宝美食 附完整代码

淘宝页面也是通过Ajax来抓取相关数据,但是参数比较复杂,甚至包含加密秘钥。使用selenium来模拟浏览器操作,抓取淘宝商品信息,即可做到可见即可爬。...q=美食,得到第一页商品信息。如下图: 而我们需要信息都在每一商品条目里。如下图: 页面的最下面,有个分页导航。为100,要获得所以信息只需要从第一页到带一百顺序遍历。...将要爬取页数当做参数传入,方法里我们先访问了搜素商品链接,然后判断当前页数,如果大于1,就转跳。否则等待加载完成。这里我们使用显示等待,WebDriverWait对象,指定一个最长等待时间。...转跳先定位跳转条目,然后clear()清空输入框,然后使用send_keys()将页码传入输入框,最后点击确定。跳转那里可以观察到成功跳转到某一,页码会高亮显示。...如果考研或者python想要共同学习请大家多多关照,如有错误请多多指教。下面附上完整代码。期待与大家共同进步。

96320

Python Selenium 爬虫淘宝案例

开始之前,请确保已经正确安装好 Chrome 浏览器并配置好了 ChromeDriver;另外,还需要正确安装 Python Selenium 库;最后,还对接了 PhantomJS 和 Firefox...q=iPad,呈现就是第一页搜索结果: 页面下方,有一个分页导航,其中既包括前 5 链接,也包括下一链接,同时还有一个输入任意页码跳转链接。...这里不直接点击 “下一原因是:一旦爬取过程中出现异常退出,比如到 50 退出了,此时点击 “下一” 时,就无法快速切换到对应后续页面了。...当我们成功加载出某一商品列表时,利用 Selenium 即可获取页面源代码,然后再用相应解析库解析即可。这里我们选用 pyquery 进行解析。下面我们用代码来实现整个抓取过程。 5....那么,怎样知道有没有跳转到对应页码呢?我们可以注意到,成功跳转某一,页码都会高亮显示。

49622

python+selenium+requests爬取博客粉丝名称

一、爬取目标 1.本次代码python2上运行通过python3不保证,其它python模块 - selenium 2.53.6 +firefox 44 - BeautifulSoup - requests...:爬博客所有粉丝名称,并保存到txt 3.由于博客园登录是需要人机验证,所以是无法直接用账号密码登录,需借助selenium登录 ?...二、selenium获取cookies 1.大前提:先手工操作浏览器,登录博客,并记住密码 (保证关掉浏览器,下次打开浏览器访问我博客时候是登录状态) 2.selenium默认启动浏览器是一个空配置...u"总共分页数:%s"%str(ye) ``` # 保存粉丝名到txt ``` # 抓取第一页数据 fensi = soup.find_all(class_="avatar_name") for i...''' try: # 抓取第一页数据 if nub <= 1: url_page = url+"/relation/followers"

91840

Selenium 抓取淘宝商品

q=iPad,呈现就是第一页搜索结果,如图所示: [1502092696490_5808_1502092699799.png] 如果想要分页的话,我们注意到页面下方有一个分页导航,包括前5链接...在这里我们不直接点击下一原因是,一旦爬取过程中出现异常退出,比如到了50退出了,我们如果点击下一无法快速切换到对应后续页面,而且爬取过程中我们也需要记录当前页码数,而且一旦点击下一之后页面加载失败...当我们成功加载出某一商品列表时,利用Selenium即可获取页面源代码,然后我们再用相应解析库解析即可,在这里我们选用PyQuery进行解析。...构造出URL之后我们就需要用Selenium进行抓取了,我们实现如下抓取列表方法: from selenium import webdriver from selenium.common.exceptions...我们可以注意到成功跳转某一页码都会高亮显示: [1502092772415_3642_1502092774018.jpg] 我们只需要判断当前高亮页码数是当前页码数即可,所以在这里使用了另一个等待条件

2.8K10

Python下利用Selenium获取动态页面数据

来源:http://www.51testing.com   利用python爬取网站数据非常便捷,效率非常高,但是常用一般都是使用BeautifSoup、requests搭配组合抓取静态页面(即网页上显示数据都可以...使用selenium模拟浏览器行为更新网页获取更新数据。本文接下来着重讲述这种方法。...2.PhantomJS,这是一个无界面的,可脚本编程WebKit浏览器引擎,百度进行搜索,在其官网下进行下载,下载无需安装,放到指定路径下,使用时只需指定文件所在路径即可。...打开网站,可以看到需要爬取数据为一个规则表格,但是有很多。 ?   在这个网站中,点击下一页面的url不发生变化,是通过执行一段js代码更新页面的。...因此本文思想就是利用selenium模拟浏览器进行点击,点击“下一页面数据进行更新,获取更新页面数据即可。

3.1K30

零基础如何用 15 行 Python 代码搞定网易云热门歌单?

本文使用Selenium 模块,它是一个自动化测试工具,利用它我们可以驱动浏览器执行特定动作,如点击、下拉等操作,对于一些 JavaScript 渲染页面来说,此种抓取方式非常有效。...若你环境中没有 Selenium 模块,直接使用 pip 安装即可: pip install selenium 2....以 Windows 为例,下载结束,将 ChromeDriver 放置 Python 安装目录下 Scripts 文件夹即可: 准备工作完成,代码写起来吧~ 小编给大家推荐一个学习氛围超好地方...先来打开网易云歌单第一页: https://music.163.com/#/discover/playlist/ 2....我们还需要遍历所有的使用工具继续分析,找到“下一 URL: 4. 切换至最后一,拿到最后一 URL: 5.

42330

读者投稿:selenium抓取bilibili拜年祭《千里之外》评论

代码微信公众号里面格式混乱了,想看代码同学请点击阅读原文。 bilibili 2019年拜年祭《千里之外》很好看,于是想用《python爬虫开发与入门实战》第七章爬虫技术抓取一下评论。...因此决定用selenium抓取一下评论, 第一页抓取只有进入该页面,然后定位到具体元素就可以爬取下来,但是抓取时候,需要先等该元素加载好再去抓取将等待和抓取逻辑封装了一下,定义出一个函数方便使用...点击下一,发现页面没有刷新,可以知道肯定是用ajax异步读取数据并加载进来了,因此需要定位到“下一按钮,然后进入下一抓取,可以用 wait...until语法先等按钮加载完成,再点击: def...虽然无法理解wait了为什么还是报错,但是找到了一种解决方案:重新进入同一个页面再抓一次,进入某方法如下: def _goto_page(self, page): driver = self.driver...111数据都抓取了下来,完整代码如下,你会发现对其中几个函数用了 retry装饰器,通过重复增加成功率,抓取数据我放在一个字典里 self.comments,字典key是页数,字典值是一个存储该页评论列表

66920

爬虫 | selenium之爬取网易云音乐歌曲评论

使用 Selenium 库模拟浏览器行为来抓取网站数据,达到事半功倍效果。...接下来就是安装 selenium, 使用 pip 安装是最方便。 pip install selenium Chrome 浏览器 爬取数据过程中, 需要启动浏览器来显示页面。...3)爬取第一页面的评论数据,然后存储到数据库中。 4)利用 Selenium 模拟点击下一按钮,再继续爬取该页面的评论数据,并存储到数据库中。 5)一直循环点击,直到所有分页数据都被爬取完成。...,首先抓取第 1 评论数据。...3 爬取结果 评论总数大概有 23W 条, 又在代码中增加延时操作。所以爬取所有评论大概需要 69 个小时。目前只跑了 9 个小时,贴下暂时爬取结果。 ?

1.9K22

手把手教你用Python爬取某网小说数据,并进行可视化分析

while循环语句,while后面的是 ‘下一’ 按钮定位,保证循环爬取下一数据。 使用if语句作为判断条件,作为while循环推出条件,然后要使用return退出函数,break不行。...条数据: 使用selenium爬取数据一些注意点: ① 点击下一之后,数据不可能瞬间加载完全,一旦数据没有加载完全,那么使用webdriverfind_Element_by_xpath语句就会定位不到...关于这个报错解决方法,参考下面博客: https://www.cnblogs.com/qiu-hua/p/12603675.html ② 动态点击下一按钮时,需要精准定位到下一按钮,其次很重要一共问题...由于窗口右侧有一个绝对定位二维码小窗口,如果不窗口最大化,那个该窗口就会挡住下一按钮导致无法点击,这个需要注意。...写在最后 这个爬取红袖添香网站小说页面数据,我们使用selenium进行数据抓取,由于页面的js加密,所以使用selenium,然后对于注意点进行总结: ① selenium爬取数据需要注意几点:

6.5K31

Selenum获取招聘数据

搜索输入框输入搜索关键字“自动化测试”,点击搜索按钮 获取第一页(列表显示信息包含了各个公司招聘信息)源码,获取源码 使用lxml来对源码进行解析,获取每个公司招聘详情信息URL,也就是链接地址...然后点击跳转到每个公司招聘详情页面,再获取详情页面的源码,再使用lxml进行解析,获取到具体招聘单位公司名称,招聘Title,职位要求,薪资范围 如上是实现思路,具体见实现代码。...这里Selenium版本是3.13版本,Chrome浏览器版本号是68,Python使用版本是Python3.6版本。...关键字搜索,获取到第一页列表源码并且解析,获取每个公司招聘详情页面的链接地址,见实现源码: class Job(object): '''selenium结合网络爬虫获取5job西安地区招聘自动化测试工程师薪资和要求...(这部分知识不做解释,如有疑问,可查看本人写Selenium文章),方法requets_detail_page中,点击每个详情链接地址跳转到详情,见源码: def request_detail_page

89760

微信公众号信息抓取方法(一)——抓取公众号历史消息列表数据

可以获取到文章内容但是脱离客户端无法获取到点赞、阅读数据 所以, 流程中一部分是依赖于手机客户端, 如果要大量抓取微信公众号信息,就必须依靠大量客户端抓取(自己准备手机、微信号、电费、和人工)...一、抓取使用工具 知乎大神用是nodejs, post给php处理, 并且github上有的大部分也是用这个方式, 或者纯nodejs方式, 个人觉得受限太大, 最主要原因是不会nodejs..., 简单学过一些, 不过使用anyproxy, 还是会出现一些无法解决问题, 无法适用于长期采集 python3.5+ mitmproxy 其他用到包插件 二、微信抓取基本应用规则 单个客户端公众号历史消息列表...——访问公众号历史列表页面——抓取第一页文章列表数据以及cookie信息——其他脚本抓取点赞、阅读、评论和小程序信息 四、教程开始 1....findall(body) if data: return data[0] return False def get_next_url(): '''这部分写要跳转到下一

12.9K32

使用Selenium抓取QQ空间好友说说1.安装Selenium2.Python使用Selenium获取QQ空间好友说说3.代码实现(基于Python3)

代码参考http://www.jianshu.com/p/a6769dccd34d 刚接触Selenium戳这里Selenium与PhantomJS PS:代码不足在于只能抓取第一页说说内容...,代码改进之处在于增加了与数据库交互,进行了存储 1.安装Selenium pip install Selenium 2.Python使用Selenium获取QQ空间好友说说 ?...3.代码实现(基于Python3) # -*- coding:utf-8 -*- from bs4 import BeautifulSoup from selenium import webdriver...import time import pymongo # #使用Seleniumwebdriver实例化一个浏览器对象,在这里使用Phantomjs # driver = webdriver.PhantomJS...通过Robo 3T(数据库MongoDB一款功能强大数据库管理工具)可以看到我们已经将拿到数据库存储于数据库中 接下来我们应该通过拿到数据做一些数据分析...可是不会!!!

1.6K20

快速掌握Python数据采集与网络爬虫技术(附代码及操作视频案例)

课程开始之前,要先说一段免责声明:这次课程对于数据抓取相关知识,只做学术探讨,不要利用抓取数据做有损访问网站商业利益事情,比如你也建立一个同样业务网站;也不要对访问网站服务器造成压力,影响正常用户访问...比如当我们来到CDA官网直播公开课页面,我们可以看到这里有很多课程,每个课程组成部分是一致,包含了它主题海报、标题内容、授课老师介绍和头像,同时还可以翻页到下一,看到更多往期公开课,这种构造相信你很多网站都看到过...浏览器自动打开指定页面,也就是直播公开课第一页。 2. Anaconda 中,星号表示该代码区域正在运行,而在代码区域下方会输出打印结果。 3....紧接着循环获取数据,代码获取到了第一页内容,并整理成表格打印出来。 4. 然后,浏览器自动翻页到第二,又一次获取第二内容,并整理成表格打印出来。 5. 继续,第三,同样输出。 6....现在是获取3要获取10,100,1000只要改一下循环这里数字,让它循环10次、100次甚至是1000次,再也不用多花更多时间和体力,始终就是一点一运行,剩下体力活全部交给 Python

1.4K20

24行代码,轻松赚取400元,运用Selenium爬取39万条数据

1.1 爬虫思路及分析 当我们接到一个爬虫单子时,一定要先分析思路,程序员工作思路往往比代码更重要,思路对了,代码不会还可以查,思路错了,就只能在无尽报错中呵呵了~~ 接到这个私单,是爬取今年以来菜市场物价...可以看到,数据有19733,每页20条,一共39万多条信息 通过初步尝试和分析,网站具有一定反爬机制,点击下一,网页并不会整体刷新,替换只是其中表格,查看网页源代码,表格部分来源也是加密...环境搭建:1、pip install selenium 2、下载对应“XX浏览器驱动”,解压文件放在Python解释器(对应虚拟环境中),下面以谷歌浏览器驱动为例子。 解压文件。...1.3 代码部分 1、首先是导入使用模块: import time #时间模块 from selenium.webdriver import Chrome #浏览器驱动模块 from selenium.webdriver.chrome.options...import Options #无头浏览器模块 import csv #csv读写模块 2、配置无头浏览器参数(代码基本固定,复制就可使用,配置代码运行中不会再弹出浏览,而是改为后台操作

96020

房天下数据爬取及简单数据分析

02|目标网页分析: 通过查看网页,我们知道目标数据存储17中,这就不是普通静态网页爬取,这种需要翻页数据爬取,我们一般有两种方法:一是通过修改url参数进行网页切换,二是通过调用selenium...模拟浏览器进行下一点击。...上面两个截图一个是17,一个是9对应url,我们发现在参数上并没有明确规律,看来利用修改参数方法是行不通了,只能使用selenium,使用selenium实现过程中,无意间发现了事情:...进行元素审查时,发现页面对应href,即链接网站是有规律,而且不是那么杂乱无章就把href里面的对应链接粘贴到搜索框,发现真能跳转到相应页面,看来是不需要使用selenium了,用修改参数方法进行循环即可...,按理来说,每一不同指标之间个数是相同,而实际是不同,说明每一抓取个别指标有缺失。

1.6K81

python 斗鱼爬虫

看了许久斗鱼直播,突然心血来潮,想用爬虫对斗鱼所有直播间信息抓取 一开始,简单对斗鱼代码进行了分析,直观地认为所有直播间都在html文件里。...思路是:先从获取所有游戏分类直播页面的url 用bs4库进行对当前页面进行数据提取 然后将其以文本形式输出 或者存入数据库 然而 要处理翻页时候却返现,找不到对应url链接 ,源代码里也没有包含翻页...当然不能拉~~~ 这时 一般有两种方法处理:第一种继续打开Chrome开发者工具,当我们点击“下一”之后,浏览器发送了如下请求: 接着 我们查看这些请求文件 点击它们 我们发现这个文件里面包含了当前页面的直播间相关信息...这是初始url:https://www.douyu.com/gapi/rkc/directory/2_1/1 我们只需要关注最后面的两个数字就可以了 分别代表 游戏分类 和 页码 1 = 英雄联盟 1 = 第一页...再者我们找到了包含了直播间信息页面,不需要再进行网页解析和信息提取,json格式也有助于我们保存 至于第二种方法,是用selenium库 模拟浏览器进行点击翻页 但是找到了json格式页面

1.8K50
领券