• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

爬虫京东网selenium(详细

武飞扬头像
小白白21
帮助1

在爬虫京东商品的过程中,遇到的问题:

学新通

页面未加载完全,就开始获取数据,应该等待(time.sleep)

**工具:**selenium

库:

from selenium import webdriver #爬虫网站用到的库

from selenium.webdriver.common.by import By #在find_element时使用

from selenium.webdriver.support.wait import WebDriverWait # 在等待加载时使用

from selenium.webdriver.support import expected_conditions as EC #等待什么时候呢?期待的conditions的时候

import time #用于模拟人的操作 确保网站加载完成,再进行搜索

开始模拟你的操作:

#打开浏览器

driver = webdriver.Chrome()

#进入京东网 —有自带的get方法,所以就不用模拟找搜索框,再输入,按确定这个过程了

url = "https://www.jd.com/"

driver.get(url)

#搜索要查找的商品,我这里是一本书—这里要有找搜索框、按钮,输入搜索内容,按下按钮,这个过程

#寻找搜索框

#寻找之前创建一个wait对象

wait = WebDriverWait(driver,10,0.5)#wait共10秒,每0.5秒问一次,有没有加载好

inputbox=wait.until(EC.presence_of_element_located((By.XPATH,"/html/body/div[1]/div[4]/div/div[2]/div/div[2]/input")))

#输入框输入汉字

inputbox.send_keys("Linux就该这么学")

#找到按钮并点击

button = driver.find_element(By.XPATH,"/html/body/div[1]/div[4]/div/div[2]/div/div[2]/button")

button.click()

#按钮点击完要等待一秒,这是规矩,因为点击完后,页面加载还需要时间

time.sleep(1)

#像京东淘宝这种网站,如果滚动条不滚动到下面,你就获取不了下面的信息

#这是一种反爬虫机制,所以我们要模拟人的行为去控制滚动条

#滚动条到最下面

driver.excute_script('window.scrollTo(0,document.body.scrollHeight);')

#滚动后要等待加载一秒,这是规矩

time.sleep(1)

#准备工作完成,开始获取书名

xpath= '/html/body/div[5]/div[2]/div/div[1]/div/div[2]/ul/li/div/div[@class="p-name"]/a/em'

titles = wait.until(EC_presence_of_all_elements_located((By.PATH,xpath))

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfifibb
系列文章
更多 icon
同类精品
更多 icon
继续加载