前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >web爬虫-用Selenium操作浏览器抓数据

web爬虫-用Selenium操作浏览器抓数据

作者头像
XXXX-user
修改2019-07-30 10:23:11
1.4K0
修改2019-07-30 10:23:11
举报
文章被收录于专栏:不仅仅是python不仅仅是python

Selenium是一个基于Web的开源自动化工具。Python使用Selenium用于自动化测试。 特点是易于使用。Selenium可以将标准Python命令发送到不同的浏览器,尽管它们的浏览器设计有所不同。

今天做一个例子,使用Selenium自动打开谷歌浏览器然后访问地址http://econpy.pythonanywhere.com/ex/001.html,并将改页面中的购买者姓名和商品价格抓取下来打印,然后自动关闭浏览器的操作。页面内容截图如下:

分析页面源代码可知 购买者姓名和商品价格的html代码信息如下:

使用Selenium自动打开谷歌浏览器的时候需要下载谷歌的驱动程序,我的谷歌浏览器版本为74:

所以我们访问驱动程序下载地址:

https://sites.google.com/a/chromium.org/chromedriver/downloads

进行下载:

然后我们要使用Selenium 需要进行安装,这里使用pip install selenium。

接下来开始编码部分:

代码语言:javascript
复制
#导入包
from selenium import webdriver
#打开谷歌浏览器 并访问要抓取数据的地址
#注意:驱动chromedriver.exe与改python文件在同一个目录
driver = webdriver.Chrome('chromedriver.exe') 
driver.get("http://econpy.pythonanywhere.com/ex/001.html")
# 使用xpath找到购买者和商品价格元素列表
buyers = driver.find_elements_by_xpath('//div[@title="buyer-name"]')
prices = driver.find_elements_by_xpath('//span[@class="item-price"]')

# 打印所有信息
num_page_items = len(buyers)
for i in range(num_page_items):
    print(buyers[i].text + " : " + prices[i].text)

#完成任务后 关闭浏览器
driver.close()

运行结果部分内容为:

代码语言:javascript
复制
Carson Busses : $29.95
Earl E. Byrd : $8.37
Patty Cakes : $15.26
Derri Anne Connecticut : $19.25
Moe Dess : $19.25
Leda Doggslife : $13.99
Dan Druff : $31.57
Al Fresco : $8.49
。。。。。。

我简单录制了一下运行过程,由于单手操作录制,画面抖动,大家对付观看一下,过程为:运行程序,自动打开谷歌浏览器,访问地址,抓取数据打印,关闭浏览器完成:

今天的学习就到这里,下节见。

关注公号

下面的是我的公众号二维码图片,欢迎关注。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 yale记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关注公号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档