python 控制浏览器
2022/3/25 9:22:53
本文主要是介绍python 控制浏览器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
【新手任务】
老板:我们做海外市场的,搞定投资商很重要。你去把境外投资企业(机构)全部给我复制下来。
任务.png
总共2606页,点下一页,然后再ctrl+C,然后Ctrl+V,准备着复制到天亮吧。扫视一圈,新来的实习生都回学校做毕业论文了。
【解决方案】
知识点:Python 3 基本语法,splinter库和xpath基本知识
Case 1:
python利用splinter库,控制chrome浏览器,打开网页,获取数据。抓取境外投资企业(机构)名录。
分析思路:
Step 1: 安装splinter
百度 splinter 安装,建议安装anaconda(python常用库就基本有了),再安装splinter
Step 2: 利用splinter打开chrome,访问链接
from splinter import Browser browser = Browser('chrome') #打开谷歌浏览器 browser.visit('http://femhzs.mofcom.gov.cn/fecpmvc/pages/fem/CorpJWList.html') #访问链接打开谷歌浏览器,访问链接.png
Step 3: 获取信息
- 在网页空白处,点击右键,选择“检查”。然后,在出现的功能框中,用鼠标点击选择元素
检查.png -
点击了选择元素之后,按钮变为蓝色(我是色盲,也是许是蓝色吧)。然后,所鼠标移动到网页上,你要获取获取的信息上,然后单击。
选择要复制的数据.png -
然后,将鼠标移动到功能框中,你需要获取的信息上,然后点击右键-复制-XPath。这样就获得了该元素在网页中的地址。
复制XPath.png - 代码如下:
# 通过谷歌浏览器的检查功能,可以很迅速地获取所需元素的地址。 # 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库,操作谷歌浏览器,然后定位到所需的元素,然后获取元素的值。获取完毕后,将数据打印,并退出浏览器。关于数据的储存,请参考插上翅膀,让Excel飞起来——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()
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
搜索
复制
这篇关于python 控制浏览器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门
- 2024-11-14Python编程入门指南
- 2024-11-13Python基础教程
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南
- 2024-11-06Python编程基础入门指南
- 2024-11-06怎么使用python 计算两个GPS的距离功能-icode9专业技术文章分享