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

Python爬虫(二十一)_Selenium与PhantomJS

本章将介绍使用SeleniumPhantomJS两种工具用来加载动态数据,更多内容请参考:Python学习指南 Selenium Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的...Selenium自己不带浏览器,不支持浏览器的功能,它需要与第三方浏览器结合在一起才能使用。但是我们有时候需要让它内嵌代码运行,所有我们而已用一个叫PhantomJS的工具代替真实的浏览器。...如果我们把SeleniumPhantomJS结合在一起,就可以运行一个非常强大的网络爬虫了,这个爬虫可以处理JavaScript、Cookie、headers,以及任何我们真实用户需要做的事情。...因为PhantomJS是一个功能完善(虽然无界面)的浏览器而非一个Python库,所以它不需要像Python的其它库一样安装,但我们可以通过Selenium调用PhantomJS来直接使用 PhantomsJS...官方才考文档:http://phantomjs.org/documention 快速入门 Selenium库里一个叫WebDriver的API。

2.5K101

Selenium与PhantomJS

Selenium 自己不带浏览器,不支持浏览器的功能,它需要与第三方浏览器结合在一起才能使用。...但是我们有时候需要让它内嵌代码运行,所以我们可以用一个叫 PhantomJS 的工具代替真实的浏览器。...如果我们把 Selenium PhantomJS 结合在一起,就可以运行一个非常强大的网络爬虫了,这个爬虫可以处理 JavaScrip、Cookie、headers,以及任何我们真实用户需要做的事情...因为 PhantomJS 是一个功能完善(虽然无界面)的浏览器而非一个 Python 库,所以它不需要像 Python 的其他库一样安装,但我们可以通过Selenium调用PhantomJS来直接使用。...注意: index 索引从 0 开始 value是option标签的一个属性值,并不是显示在下拉框的值 visible_text是option标签文本的值,是显示在下拉框的值 全部取消选择怎么办呢

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

爬虫入门经典(十四) | 使用selenium尝试爬取豆瓣图书

作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多自己一样处于起步阶段的萌新。...但由于水平有限,博客难免会有一些错误出现,纰漏之处恳请各位大佬不吝赐教!暂时只csdn这一个平台进行更新,博客主页:https://buwenbuhuo.blog.csdn.net/。...这个时候两种方式 a:找到加密解密的接口,使用python模拟(相当复杂,必须有解析js的能力) b:使用selenium+driver直接获取解析后的页面数据内容(这种相对简单) ?...我们可以看到标红处,有的数据是获取不到的,这难道是我们代码问题?其实我们的代码并没有问题。我们看下网页 ? ?...如果我的博客对你帮助、如果你喜欢我的博客内容,请“点赞” “评论”“收藏”一键三连哦!听说点赞的人运气不会太差,每一天都会元气满满呦!

62020

利用selenium尝试爬取豆瓣图书

这个时候两种方式 a:找到加密解密的接口,使用python模拟(相当复杂,必须有解析js的能力) b:使用selenium+driver直接获取解析后的页面数据内容(这种相对简单) 当然了,我们只是分析了接口这一部分...,其实我们通过查看网页源码,使用xpath进行尝试解析,发现其实是可行的,但是由于本文使用的是自动化工具selenium,所以就不过多解释xpath。...2、driver 操作浏览器的驱动,分为有界面无界面的 有界面:与本地安装好的浏览器一致的driver(用户可以直接观看,交互比如单击、输入) 无界面:phantomjs(看不到,只能通过代码操作,加载速度比有界面的要快.../div/div[2]/span[2]/text()") item["others"] = data.xpath("..../div/div[3]/text()") print(item) 我们可以看到标红处,有的数据是获取不到的,这难道是我们代码问题?其实我们的代码并没有问题。

1.3K30

七、Selenium与phantomJS----------动态页面模拟点击、网站模拟登录 每天一个小实例1(动态页面模拟点击,并爬取你想搜索的职位信息) 每天一个小实例2(模拟网站登录)我用的是

Selenium 自己不带浏览器,不支持浏览器的功能,它需要与第三方浏览器结合在一起才能使用。...但是我们有时候需要让它内嵌代码运行,所以我们可以用一个叫 PhantomJS 的工具代替真实的浏览器。   ...如果我们把 Selenium PhantomJS 结合在一起,就可以运行一个非常强大的网络爬虫了,这个爬虫可以处理 JavaScrip、Cookie、headers,以及任何我们真实用户需要做的事情...因为 PhantomJS 是一个功能完善(虽然无界面)的浏览器而非一个 Python 库,所以它不需要像 Python 的其他库一样安装,但我们可以通过Selenium调用PhantomJS来直接使用。...我这里用的xpath,取a[@class="mnav"]文本 18 data_titles = driver.find_elements_by_xpath('//a[@class="mnav"]')

2.2K70

selenium模拟浏览器&PhantomJS

安装老版本:pip3 install selenium==3.8.0 Python网络爬虫中最麻烦的不是那些需要登录才能获取数据的网站,而是那些通过JavaScript获取数据的网站。...事实上,爬JavaScript才能返回数据的网站时,没有比SeleniumPhantomJS更适合的组合了 windows下安装PhantomJS 下载地址:http://phantomjs.org... &  PhantomJS抓取数据 SeleniumPhantomJS配合,可以模拟浏览器获取包括JavaScript的数据,现在不单要获取网站数据,还需要过滤出"有效数据"才行,Selenium本身就带有一套自己的定位过滤函数...先定位文本框,输入搜索关键词并向服务器发送数据,浏览器打开百度,定位输入框查看代码,如下图: ?...从上图中可以看出文本框里class,name,id属性,可以使用find_element_by_class_name、find_element_by_id、find_element_by_name来定位

1.5K30

初学者的20个爬虫经典案例视频_李昌钰水门事件20集大经典案例

案例7:股票帖子里你支持的那一只股票新闻 案例8:你用过的常见药品 案例9:Python必备的英语单词 案例10:你喜欢的歌手来啦 案例11:你喜欢的歌手歌单来啦 案例12:利用selenium...+Phantomjs获取图书信息 案例13:某讯招聘 案例14:英雄联盟英雄技能(selenium+phantomjs) 案例15:各个不同类型的好看电影 案例16:分析北京的房子都是什么样 前言 该贴是几年前所写...id') # print(url) parse_detail(url, item) print(item) # ---------获取详情页url存着歌手名字音乐列表的字典,字典添加详情页数据...获取图书信息 由于数据有js方法写入,这里我们使用selenium+Phantomjs获取 import time, json from lxml import etree from selenium...class一样,因此需要判断 问题2: 获取每个区的页数,使用js将页数隐藏 https://bj.fang.lianjia.com/loupan/区/pg页数%s 我们可以发现规律,明明三页

1.1K30

Selenium+PhantomJS抓取数据

最近看到了一个无页面的浏览器PhantomJS,访问网站效率高,速度快,无页面全后台抓取数据,而且可以 Selenium结合使用个性化定制网站的数据抓取,下面会详细讲一下Selenium与PhantomJS...vs2013是如何抓取数据 的,以携程网的酒店数据为例。...首先下载Selenium的dll文件PhantomJS资源,我的资源中都已经上传了地址在这里~ http://download.csdn.net/detail/u013407099/9687589..."); 第三步先在浏览器访问这个网址,观察网页的DOM结构的规律,去将所有的城市的酒店列表地址所在的元素获取到,也就是使用css选择器来筛选DOM结构   //锁定留个城市名模块            ...,获取房间评论的过程因为网站需要滑动才会动态加载完毕,从而选择切换到评论,所以需要人为的控制窗口滑动   var driver = new PhantomJSDriver(driverService

25330

腾讯云上Selenium用法示例

Selenium支持多种语言开发,比如 Java,C,Ruby等等, Python ?那是必须的!哦这可真是天大的好消息啊。 嗯,所以呢?...而且你在用 xpath 的时候还需要注意的是,如果有多个元素匹配了 xpath,它只会返回第一个匹配的元素。如果没有找到,那么会抛出 NoSuchElementException 的异常。...element.send_keys("and some", Keys.ARROW_DOWN) 你可以对任何获取到到元素使用 send_keys 方法,就像你 GMail 里面点击发送键一样。...填充表单 我们已经知道了怎样向文本输入文字,但是其它的表单元素呢?...元素拖拽 要完成元素的拖拽,首先你需要指定被拖动的元素拖动目标元素,然后利用 ActionChains 类来实现。

3.6K00

Selenium与PhantomJS

Selenium 自己不带浏览器,不支持浏览器的功能,它需要与第三方浏览器结合在一起才能使用。...但是我们有时候需要让它内嵌代码运行,所以我们可以用一个叫 PhantomJS 的工具代替真实的浏览器。...因为 PhantomJS 是一个功能完善(虽然无界面)的浏览器而非一个 Python 库,所以它不需要像 Python 的其他库一样安装,但我们可以通过Selenium调用PhantomJS来直接使用。...使用方式 Selenium 库里个叫 WebDriver 的 API。...("//input[@id='passwd-id']") 注意: 文本必须完全匹配才可以,所以这并不是一个很好的匹配方式 在用 xpath 的时候还需要注意的如果有多个元素匹配了 xpath,它只会返回第一个匹配的元素

1.1K20

Seleninum&PhamtomJS爬取煎蛋网妹子图

目标网站: 需要爬取的网站:http://jandan.net/ooxx ? 目标分析: 先找到总页数,即可以利用selenium的模拟点击到下一个页面 ?...的路径             #browser = webdriver.PhantomJS(executable_path=r"D:\phantomjs-2.1.1-windows\bin\phantomjs.exe...")             # 方法二: 复制PhantomJS.exe到C:\Python35目录下(Python安装目录下)             browser = webdriver.PhantomJS...class='cp-pagenavi']/span[last()]").text)         cartoonTitle = browser.title  # 获取目录名         self.createDir...代码分析: mylog.py  日志模块,记录一些爬取过程的信息,大量爬取的时候,没有log帮助定位,很难找到错误点 主程序: getJianDan.py 主程序 getBrowser  打开目标网站

72130

九.网络爬虫之Selenium基础技术万字详解(定位元素、常用方法、鼠标操作)

此时的Selenium包已经安装成功,接下来需要调用浏览器来进行定位或爬取信息,而使用浏览器的过程需要安装浏览器驱动。...---- 2.安装浏览器驱动 Selenium需要安装浏览器驱动,才能调用浏览器进行自动爬取或自动化测试,常见的包括Chrome、Firefox、IE、PhantomJS等浏览器。...假设需要通过id属性定位页面的杜甫、李商隐、杜牧三个超链接,HTML核心代码如下: 如果需要获取div布局,则使用如下代码: test_div = driver.find_element_by_id...第二句是获取HTML代码的第一个div布局元素。但是如果所要爬取的div节点位置太深,难道我们从第一个div节点数下去?显然不是的。...---- 4.通过连接文本定位超链接 当你需要定位一个锚点标签内的链接文本(Link Text)时就可以使用该方法。该方法将返回第一个匹配这个链接文本值的元素。

4.4K10

完美假期第一步:用Python寻找最便宜的航班!

非常多关于网络爬虫的应用程序,即便你更喜欢数据科学的其他主题,你仍然需要一些爬虫技能来获取想要的数据。 Python可以来拯救你 第一个挑战是选择从哪个平台抓取信息。...我已经编写了相关的代码,如果你只想搜索特定日期,那么你需要适当地进行一些调整。我将尽量整个文本中指出所有的变动值。 点击搜索按钮并获取地址栏的链接。...你并不需要每10分钟就更新这些价格,不是?! XPath的坑 目前为止,我们打开了一个浏览器窗口并获得了网址。接下来我会使用XPath或者CSS选择器来抓取价格等其他信息。...也就是说,先选定最外层的页面元素(如本文网站的resultWrapper),再找一种方式(如XPath)来获取信息,最后再将信息存到可读的对象(本例先存在flight_containers,再存在...这需要我们定义一下要查询的航班的地点日期。我们会打开kayak变量的网址,并且查询结果会直接按照“best”方式排序。

1.8K40

完美假期第一步:用Python寻找最便宜的航班!

非常多关于网络爬虫的应用程序,即便你更喜欢数据科学的其他主题,你仍然需要一些爬虫技能来获取想要的数据。 Python可以来拯救你 第一个挑战是选择从哪个平台抓取信息。...我已经编写了相关的代码,如果你只想搜索特定日期,那么你需要适当地进行一些调整。我将尽量整个文本中指出所有的变动值。 点击搜索按钮并获取地址栏的链接。...你并不需要每10分钟就更新这些价格,不是?! XPath的坑 目前为止,我们打开了一个浏览器窗口并获得了网址。接下来我会使用XPath或者CSS选择器来抓取价格等其他信息。...也就是说,先选定最外层的页面元素(如本文网站的resultWrapper),再找一种方式(如XPath)来获取信息,最后再将信息存到可读的对象(本例先存在flight_containers,再存在...这需要我们定义一下要查询的航班的地点日期。我们会打开kayak变量的网址,并且查询结果会直接按照“best”方式排序。

2.2K50
领券