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

web爬虫-Selenium进阶操作

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

继续上一节内容,我们将使用Selenium操作谷歌浏览器抓取多页的数据并将结果保存到CSV文件中。

首先我们查看被抓取的网址中一共包含了5页内容:

我们修改上一篇文章的代码来实现今天的功能,接下来开始:

代码语言:javascript
复制
#导入包
from selenium import webdriver
import csv
#定义分页总数
MAX_PAGE_NUM = 5
#定义分页数字位数
MAX_PAGE_DIG = 3

#打开谷歌浏览器 并访问要抓取数据的地址
#注意:驱动chromedriver.exe与改python文件在同一个目录
driver = webdriver.Chrome('chromedriver.exe') 

#创建csv文件进行写入
csv_file = open('results.csv', 'w')
csv_writer = csv.writer(csv_file)
#写入csv标题头内容
csv_writer.writerow(['购买者', '商品价格'])
for i in range(1, MAX_PAGE_NUM + 1):
  #获取分页url中的数字内容:001 002...004 005
  page_num = (MAX_PAGE_DIG - len(str(i))) * "0" + str(i)
  url = "http://econpy.pythonanywhere.com/ex/" + page_num + ".html"
  driver.get(url)
  # 使用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):
    #数据写入csv文件
    csv_writer.writerow([buyers[i].text, prices[i].text])
#完成任务后 关闭浏览器
driver.close()

运行后会生成一个results.csv文件内容截图为:

视频运行代码效果如下,过程为运行程序-打开谷歌浏览器-一次访问每个分页的地址然后抓取数据保存到csv文件中-关闭浏览器完成。

关注公号

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

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关注公号
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档