selenium模拟用户使用浏览器行为,爬取京东商品数据

一、安装selenium

pip install selenium

二、安装浏览器驱动

在使用selenium时,需要有对应的浏览器驱动器文件在python安装目录下,否则会出现异常。

以Chrome为例:

1.查看本机浏览器版本信息

打开chrome浏览器,地址栏输入:

chrome://settings/help

2.查看驱动器版本信息

https://chromedriver.storage.googleapis.com/LATEST_RELEASE_ + 浏览器版本信息

# 例如

https://chromedriver.storage.googleapis.com/LATEST_RELEASE_75.0.3770.100

 (注:不知道是不是我浏览器问题,查到的版本没变化)

3.下载驱动器

下载地址:

https://chromedriver.storage.googleapis.com/index.html?path=75.0.3770.100/

(注意:最后要带上斜杠/)

发现没有此版本驱动,点继 Parent Directory 回到父目录

找到 75.0.3770.90 文件夹,点击进入选择相应的系统进行下载。

4.配置驱动器

将驱动器解压缩后发现只有一个 chromedriver.exe 文件,需要将该文件 copy 到两个目录:

1.python安装目录(根目录)

例如,我的 python 环境为 anoconda3 集成环境,就需要把上述驱动器文件 copy 到安装路径下:

D:\DeveloperSpace\anaconda3

2.Chrome安装路径

C:\Users\wangj\AppData\Local\Google\Chrome\Application

之后将此路径添加到环境变量 path 中即可。

注意:由于我在第一次配置时没有进行第二步 Chrome 配置,调用 webdriver.Chrome()时,报错:

selenium.common.exceptions.InvalidArgumentException: Message: invalid argume

5.测试

from selenium import webdriver

browser = webdriver.Chrome()# 注意大写!!
print(type(browser))

url = 'https://www.douban.com'
get_url = browser.get(url)
print(browser.current_url)# 获取当前网页url
print(browser.page_source)# 获取当前网页源码

测试结果:

 安装配置成功!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是使用selenium模拟浏览器京东商品评价的代码: ```python from selenium import webdriver from selenium.webdriver.common.keys import Keys from time import sleep # 创建一个浏览器对象 browser = webdriver.Chrome() # 访问京东首页 browser.get('https://www.jd.com/') # 查找搜索框并输入要搜索的商品名称 search_box = browser.find_element_by_id('key') search_box.send_keys('手机') search_box.send_keys(Keys.ENTER) # 等待搜索结果页面加载完成 sleep(3) # 找到商品列表中第一个商品的链接并点击进入商品详情页 product_link = browser.find_element_by_css_selector('.gl-item:nth-child(1) .p-name a') product_link.click() # 切换到新打开的标签页 browser.switch_to.window(browser.window_handles[-1]) # 进入商品评价页面 browser.find_element_by_css_selector('#detail .comment-count').click() # 模拟滚动加载评价数据 while True: browser.execute_script('window.scrollTo(0, document.body.scrollHeight)') sleep(3) try: # 找到“查看更多”的按钮并点击 more_button = browser.find_element_by_css_selector('.comment-item .comment-operate .btn-append') more_button.click() sleep(3) except: # 没有“查看更多”按钮,说明评价数据已全部加载完成 break # 找到所有评价的元素 comments = browser.find_elements_by_css_selector('.comment-item') # 遍历所有评价并输出评价内容 for comment in comments: content = comment.find_element_by_css_selector('.comment-con').text.strip() print(content) # 关闭浏览器 browser.quit() ``` 上面的代码中,我们首先使用`selenium`创建一个`Chrome`浏览器对象,并访问京东首页。然后,我们在搜索框中输入要搜索的商品名称,按下`Enter`键进行搜索。搜索结果页面加载完成后,我们找到商品列表中第一个商品的链接,并点击进入商品详情页。切换到新打开的标签页后,我们进入商品评价页面,然后模拟滚动加载评价数据,并在评价数据全部加载完成后,找到所有评价的元素,遍历所有评价并输出评价内容。最后,关闭浏览器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值