当前位置:   article > 正文

python实战WebDriver自动化获取淘宝商品价格,名字,地区--selenium_写脚本自动获取网站商品价格

写脚本自动获取网站商品价格

题目:请编写一个爬虫程序,访问https://www,taobao.com/页面,在搜索框中输入“python”,点击“搜索”按钮,爬取页面中所有书名和价格等数据。

先下载python 模块!

  1. python自己的Selenium模块
  2. pip install selenium
  3. 网速慢的可以用清华的源
  4. 清华大学开源软件镜像站:使用清华大学的源,可以通过以下命令安装Selenium:
  5. pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple

1.首先咋们要用python(selenium)自动化需要浏览器  安装浏览器驱动。

安装浏览器驱动

安装浏览器驱动时注意版本保持一致。
查看浏览器版本:

clay专属
标题

上图中看到我的Edge版本是 126.0.2592.61。

                                                            进入网站下载驱动。

                                                           在这个网站上下载驱动:Microsoft Edge WebDriver |Microsoft Edge 开发人员icon-default.png?t=N7T8https://developer.microsoft.com/zh-cn/microsoft-edge/tools/webdriver/

clay专属
根据自己的浏览器匹配下载

 下载之后会是这个样子的里面有个msedgedriver.exe文件 把文件复制到python解释器目录下并且改名为MicrosoftWebDriver.exe 

如果你不知道python解释器目录在哪里咋们可以直接win+cmd查找解释器目录。

  1. #win+R 输入cmd
  2. where python
  3. # 或者,如果默认的Python版本是Python 3,你可能需要输入:
  4. where python3

如图这就是解释器目录clay专属

 记得给浏览器驱动改个名字

clay专属

下载配置完了浏览器驱动就可以使用python自动化selenium

该Python函数使用Selenium库实现了一个简单的自动化浏览器操作,具体功能如下:

  1. 使用Edge浏览器的WebDriver打开淘宝网站。
  2. 等待搜索框加载完成,并在搜索框中输入关键词"python"后提交搜索。
  3. 等待页面加载完成。
  4. 定位搜索结果页面中的所有商品项,并遍历每个商品项。
  5. 提取并打印每个商品的名称、价格、付款人数和地区信息。
  6. 如果页面加载超时或元素未找到,则打印错误信息。
  7. 最后关闭浏览器。

该函数通过Selenium库实现了自动化浏览器操作,能够自动打开淘宝网站、搜索商品并提取相关信息,方便进行数据分析或自动化测试等任务。

上python代码注释里写的很清楚一看便知,不懂评论区讨论

  1. # 导入Selenium WebDriver模块及相关类,用于自动化网页操作
  2. from selenium import webdriver
  3. from selenium.webdriver.common.by import By
  4. from selenium.webdriver.common.keys import Keys
  5. from selenium.webdriver.support.ui import WebDriverWait
  6. from selenium.webdriver.support import expected_conditions as EC
  7. from selenium.common.exceptions import TimeoutException
  8. import time
  9. # 初始化Edge浏览器驱动,用于后续网页访问
  10. # 初始化WebDriver,这里使用的是Edge浏览器,确保已经安装了对应的WebDriver
  11. browser = webdriver.Edge()
  12. # 打开淘宝网站主页
  13. # 打开淘宝网站
  14. browser.get('https://www.taobao.com')
  15. # 创建一个等待对象,设置最长等待时间为15秒
  16. # 等待搜索框加载完成,增加等待时间至20秒
  17. wait = WebDriverWait(browser, 15)
  18. # 等待搜索框出现,并在搜索框中输入“python”,然后按下回车键
  19. # 定位搜索框并输入搜索内容
  20. search_box = wait.until(EC.presence_of_element_located((By.ID, "q")))
  21. search_box.send_keys('python')
  22. search_box.send_keys(Keys.RETURN) # 使用回车键提交搜索
  23. # 暂停10秒,等待搜索结果页面加载
  24. # 等待15秒,让页面有足够时间加载搜索结果
  25. time.sleep(10)
  26. try:
  27. # 等待搜索结果项全部加载完成
  28. # 定位所有商品项
  29. product_items = wait.until(EC.presence_of_all_elements_located((By.CLASS_NAME, "Card--doubleCard--wznk5U4")))
  30. # 遍历所有搜索结果项,提取并打印商品名称、价格、销量和地区信息
  31. for item in product_items:
  32. # 商品名称
  33. product_name = item.find_element(By.CLASS_NAME, "Title--title--jCOPvpf").text
  34. print(f"商品名称: {product_name}")
  35. # 商品价格
  36. price_int = item.find_element(By.CLASS_NAME, "Price--priceInt--ZlsSi_M").text
  37. price_float = item.find_element(By.CLASS_NAME, "Price--priceFloat--h2RR0RK").text
  38. print(f"商品价格: {price_int}.{price_float}元")
  39. # 付款人数
  40. sales_count = item.find_element(By.CLASS_NAME, "Price--realSales--FhTZc7U").text
  41. print(f"付款人数: {sales_count}")
  42. # 地区信息
  43. region = item.find_element(By.XPATH, ".//div[@class='Price--procity--_7Vt3mX']/span").text
  44. print(f"地区: {region}")
  45. print("-" * 50) #分割线
  46. except TimeoutException as e:
  47. # 如果等待超时,打印错误信息
  48. print("页面加载超时或元素未找到:", e)
  49. # 关闭浏览器
  50. # 完成操作后,关闭浏览器
  51. browser.quit()

演示图:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/939029
推荐阅读
相关标签
  

闽ICP备14008679号