网页数据抓取软件(如何利用Python3基本语法,splinter库和xpath基本知识)

优采云 发布时间: 2021-09-22 18:34

  网页数据抓取软件(如何利用Python3基本语法,splinter库和xpath基本知识)

  [任务]新手

  老板:我们做了海外市场,重要的是让投资者。你去外商投资企业(机构)到我复制的所有企业。

  

  任务.png

  总共2606,下一个点,然后是ctrl + c,然后ctrl + v,准备复制它直到黎明。瞥了一眼,新实习生回到学校进行论文。

  [解决方案]

  知识:Python 3基本语法,Splinter库,以及XPath的基本知识

  案例1:

  Python库使用Splinter,Control Chrome浏览器,打开网页,访问数据。抓住外商投资企业(机构)名单。

  思想分析:

  步骤1:安装splinter

  百度Splinter安装,建议的安装anaconda(python与基本库常见),然后安装splinter

  步骤2:使用Chrome的打开Splinter,Access Link

  from splinter import Browser

browser = Browser('chrome') #打开谷歌浏览器

browser.visit('http://femhzs.mofcom.gov.cn/fecpmvc/pages/fem/CorpJWList.html') #访问链接

  打开Goog​​le浏览器,访问链接.png

  步骤3:获取信息

  # 通过谷歌浏览器的检查功能,可以很迅速地获取所需元素的地址。

# find_by_xpath(XPath地址) 返回值是储存在列表中的

# 这里是只有一个元素的列表,所以要选择列表第一个元素的值

r1c1=browser.find_by_xpath('//*[@id="foreach"]/td[1]').first.value # 取得1行1列的值

r1c2=browser.find_by_xpath('//*[@id="foreach"]/td[2]').first.value # 取得1行2列的值

r1c3=browser.find_by_xpath('//*[@id="foreach"]/td[3]').first.value# 取得1行3列的值

browser.find_by_xpath('//*[@id="pageNoLink_0"]').first.click() # 点击下一页

# 打印数据,并退出浏览器

print(r1c1,r1c2,r1c3)

browser.quit()

  [结论]

  本文简要介绍如何使用Python Splinter库,操作Google浏览器,然后导航到所需的元素,然后获取元素。完成完成后,打印数据,并退出浏览器。关于存储的数据,请参考翅膀,让Excel Fly --XLWINGS(一)。对于完整数百页的数据,只需在代码中添加一个循环,如有必要,下次详细介绍。完成代码如下:

  from splinter import Browser

browser = Browser('chrome')

browser.visit('http://femhzs.mofcom.gov.cn/fecpmvc/pages/fem/CorpJWList.html')

r1c1=browser.find_by_xpath('//*[@id="foreach"]/td[1]').first.value

r1c2=browser.find_by_xpath('//*[@id="foreach"]/td[2]').first.value

r1c3=browser.find_by_xpath('//*[@id="foreach"]/td[3]').first.value

browser.find_by_xpath('//*[@id="pageNoLink_0"]').first.click()

# 打印数据,并退出浏览器

print(r1c1,r1c2,r1c3)

browser.quit()

  参考

  XPath示例

  Splinter官方文档

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线