Python爬虫从入门到放弃 11 | Python爬虫实战–利用自动化神器Selenium爬取京东商品

此博客仅为我业余记录文章所用,发布到此,仅供网友阅读参考,如有侵权,请通知我,我会删掉。
本文章纯野生,无任何借鉴他人文章及抄袭等。坚持原创!!

前言

你好。这里是Python爬虫从入门到放弃系列文章。我是SunriseCai。

结合视频食用,味道更佳。

Selenium爬取京东商城商品信息:https://www.bilibili.com/video/BV1Ka4y1i7Pz?p=4


本文章主要介绍利用Selenium爬虫程序去 获取京东商城的商品。

百度百科:Selenium

Python爬虫从入门到放弃 11 | Python爬虫实战–利用自动化神器Selenium爬取京东商品_第1张图片
借助Selenium可以很方便的进行一些模拟的人为的浏览器操作。
用人话说就是,selenium会驱动浏览器去执行你的命令。

首先,建议移步官方文档进行系统的学习Selenium,Selenium官方文档
Selenium有很多知识,还请各位参考官方文档去进行系统的学习。

1. 安装Selenium

电脑配置selenium运行环境只需要三步:

  1. 安装selenium模块
  2. 下载webdriver驱动
  3. 配置环境变量

1.1 安装selenium模块

  • 安装Selenium模块。

pip install selenium

1.2 下载webdriver驱动

  • 下载一个与浏览器对应的webdriver驱动,本文章用chrome做演示。
浏览器
Chrome http://npm.taobao.org/mirrors/chromedriver/
Edge https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
加粗样式 https://github.com/mozilla/geckodriver/releases
Safari https://webkit.org/blog/6900/webdriver-support-in-safari-10/
  • 看到我的chrome版本为80.0.3987.149
    Python爬虫从入门到放弃 11 | Python爬虫实战–利用自动化神器Selenium爬取京东商品_第2张图片
  • webdriver下载页面这里,找到对应chrome版本的驱动下载即可。(只要版本号前面匹配了就可以,不必所有都一样)
    Python爬虫从入门到放弃 11 | Python爬虫实战–利用自动化神器Selenium爬取京东商品_第3张图片

1.3 配置环境变量

配置环境变量有两种方法:

  1. 放到 Python安装目录下的Scripts文件夹里边;
  2. 执行时候指定webdriver驱动的路径。

(1)放到 Python安装目录下的Scripts文件夹里边
Python爬虫从入门到放弃 11 | Python爬虫实战–利用自动化神器Selenium爬取京东商品_第4张图片


(2)执行时候指定webdriver驱动的路径。

例如我将chromedriver.exe驱动放在F盘的根目录下,那在执行selenium时候可以用executable_path指定webdriver驱动。

from selenium import webdriver

url = 'http://www.baidu.com'
browser = webdriver.Chrome(executable_path=r'F:\chromedriver.exe')
browser.get(url)

1.4 selenium简单示例

还是上面的代码,用百度来做示例。

from selenium import webdriver

url = 'http://www.baidu.com'
browser = webdriver.Chrome(executable_path=r'F:\chromedriver.exe')	# 创建一个谷歌浏览器对象	
browser.get(url)	# 请求url
browser.save_screenshot('baidu.jpg')	# 截图

browser.quit()				# 退出浏览器对象

代码执行后,会发现本地文件夹下多了一个名为baidu.jpg的图片,看下图。

2. 分析京东商城页面

2.1 分析页面

打开首页,在搜索框输入需要搜索的商品。然后点击搜索
这里以口罩商品做演示。

获取搜索框的xpath表达式,如下图:

代码如下:

from selenium import webdriver

class JdSpider(object):
    def __init__(self):
        self.url = 'https://www.jd.com/'
        options = webdriver.ChromeOptions()
        options.add_argument("--start-maximized")  # 最大化运行窗口 可不添加
        self.browser = webdriver.Chrome(executable_path=r'F:\chromedriver.exe', options=options)

    def __del__(self):
        self.browser.close()

    def search_goods(self):
        self.browser.get(self.url)
        self.browser.find_element_by_xpath('//*[@id="key"]').send_keys('口罩')			# 输入内容
        self.browser.find_element_by_xpath('//*[@id="search"]/div/div[2]/button').click()	# 模拟点击按钮

if __name__ == '__main__':
    spider = JdSpider()
    spider.search_goods()

运行代码的结果如下:

2.2 需要提取的数据

接下来需要提取的内容就就是价格商品名称评价人数店铺名

后续的部分就不再解析了,剩点作业吧!!!

3. 完整代码

完整代码可以参考该博文,python爬虫入门 ✦ selenium 爬取京东的所有商品信息 – 点击直达,没错,也是我水的博文。


  • 有任何疑问请先自己动手解决,尽信书则不如无书。
  • 实在解决不了可以一起交流。

最后来总结一下本章的内容:

  1. 介绍了Selenium的安装和配置环境等;
  2. 介绍了Selenium的简单示例等;
  3. 介绍了利用Selenium爬虫程序下载京东商城的商品信息。

sunrisecai

  • 感谢你的耐心观看,点关注,不迷路。
  • 为方便菜鸡互啄,欢迎加入QQ群组织:648696280

下一篇文章,名为 《Python爬虫从入门到放弃 12 | 结语》

你可能感兴趣的:(Python爬虫从入门到放弃 11 | Python爬虫实战–利用自动化神器Selenium爬取京东商品)