使用selenium和pyquery爬取京东商品列表过程解析-创新互联

今天一起学起使用selenium和pyquery爬取京东的商品列表。本文的所有代码是在pycharm IDE中完成的,操作系统window 10。

我们提供的服务有:成都网站建设、成都做网站、微信公众号开发、网站优化、网站认证、肃南裕固族自治ssl等。为上千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的肃南裕固族自治网站制作公司

1、准备工作

安装pyquery和selenium类库。依次点击file->settings,会弹出如下的界面:



然后依次点击:project->project Interpreter->"+",,如上图的红色框所示。然后会弹出下面的界面:


输入selenium,在结果列表中选中“selenium”,点击“install package”按钮安装selenium类库。pyquery也是一样的安装方法。

安装chrome和chrome driver插件。chrome dirver插件下载地址:http://npm.taobao.org/mirrors/chromedriver/。 切记chrome和chrome dirver的版本要一致。我的chrome版本是70,对应chrome driver是2.44,2.43,2.42。

下载chrome driver解压后,将exe文件拷贝到pycharm开发空间的Scripts文件夹中:


2、分析要爬取的页面


这次是爬取京东图书中计算机书籍类书籍的信息。


打开chrome,打开开发者工具,输入www.jd.com,分析查询输入框和查询按钮的css代码:



通过分析发现,搜索框的css代码是id=“key”,查询按钮的css代码是class=“button”。下面是使用selenium调用chrome浏览器在搜索框输入关键词“计算机书籍”并点击查询按钮出发查询请求的代码:

from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from pyquery import PyQuery as pq

#通过Chrome()方法打开chrome浏览器
browser = webdriver.Chrome()
#访问京东网站
browser.get("https://www.jd.com")
#等待50秒
wait = WebDriverWait(browser, 50)
#通过css选择器的id属性获得输入框
input = browser.find_element_by_id('key')
#在输入框中写入要查询的信息
input.send_keys('计算机书籍')
#获取查询按钮
submit_button = browser.find_element_by_class_name('button')
#点击查询按钮
submit_button.click()

分享题目:使用selenium和pyquery爬取京东商品列表过程解析-创新互联
标题来源:http://pwwzsj.com/article/didieg.html