admin 管理员组文章数量: 887021
#基于Python Selenium在Edge浏览器下爬取商品信息
问题背景描述
最近跑一个爬虫作业的时候用到了selenium,用的模板是Chrome浏览器的,而我自己用的是Edge,所以在一些代码上需要进行改动,否则会报错,比如Edge浏览器启动项,等等。这里记录一下,也给有同样需要的人提供参考。借鉴了一些其他文章,我会放在末尾参考资料里,代码我还没学会github,所以所有代码我都放文章里了,顺序为:主程序-定义的函数,我会先介绍主程序。
作业描述:给定一个商店网址,要求获取商店内5个最贵的商品名字和价格,使用工具为selenium,使用代码为python,实验环境为anaconda+jupyternotebook。
老师给的参考步骤如下,我没有严格按照步骤来写:
- Search the empty keyword(keyword = ‘’) to get every products
- fetch the pages with given keyword,这里keyword我们不输入,就会展示所有信息。
- There’re serval products on one page. To get the product detail, it requires you to access the product page by the ‘href url’
- get all the links of products on that page.
- Use a loop to get all the product pages.
- Parse the product name and price from that page.
- Store the product information
- Find the next_page url
- If next_page url exist then fetch the next_page and go back to Step (2)
- Sort the products by price and retrieve the names of top 5 as the result
- Save the top5 result as json file, name the file “result.json”.
同时也给了一些提示:
- It’s recommended to use a ‘dict’ to store the retrieving result (products name as key and price as value).所以我把原程序里面的’products‘,商品信息换成了dict格式,再排序,最后以字典输出前五个。
- All the above processes are run on your own local machine (jupyterhub is not working).
- A template code to parse the html pages is given on the Gitea.
工具准备
工具一:anaconda3+jupyter,这个不给教程了,也可以用其他环境。
工具二:需要下载Edge专用的驱动,网址为Edge Driver。
下载完成后,放入python脚本同一目录下,我用的是jupyter,所以我放的如图:
需要注意的是,下载完要改名字,改为:‘MicrosoftWebDriver.exe’,否则有可能出错。
工具二:当然最重要的就是你有一个代码可以跑爬虫,文末我放上我的完整代码供参考,只是一个例程,放在文章最后(现在还没放,等我做完实验再放)。
代码实现讲解以及代码改动说明
由于老师给的是Chrome的浏览器的例程,所以我们要进行修改,我这里用的版本是 95.0.1020.40 (官方内部版本) (64 位)。其实应该都差不多。
引用库
from selenium import webdriver
from selenium.webdriver.common.by import By
本文标签: 商品信息 浏览器 selenium python 下爬取
版权声明:本文标题:基于Python Selenium在Edge浏览器下爬取商品信息 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1726435543h960144.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论