十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
今天一起学起使用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()