欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-04-30 20:29:45
...

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

前言

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


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

百度百科:Selenium

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

首先,建议移步官方文档进行系统的学习SeleniumSelenium官方文档
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爬取京东商品
  • webdriver下载页面这里,找到对应chrome版本的驱动下载即可。(只要版本号前面匹配了就可以,不必所有都一样)
    Python爬虫从入门到放弃 11 | Python爬虫实战–利用自动化神器Selenium爬取京东商品

1.3 配置环境变量

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

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

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


(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的图片,看下图。
Python爬虫从入门到放弃 11 | Python爬虫实战–利用自动化神器Selenium爬取京东商品

2. 分析京东商城页面

2.1 分析页面

打开首页,在搜索框输入需要搜索的商品。然后点击搜索
这里以口罩商品做演示。
Python爬虫从入门到放弃 11 | Python爬虫实战–利用自动化神器Selenium爬取京东商品
获取搜索框的xpath表达式,如下图:
Python爬虫从入门到放弃 11 | Python爬虫实战–利用自动化神器Selenium爬取京东商品
代码如下:

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()

运行代码的结果如下:
Python爬虫从入门到放弃 11 | Python爬虫实战–利用自动化神器Selenium爬取京东商品

2.2 需要提取的数据

接下来需要提取的内容就就是价格商品名称评价人数店铺名
Python爬虫从入门到放弃 11 | Python爬虫实战–利用自动化神器Selenium爬取京东商品

后续的部分就不再解析了,就只靠你们自己啦!!!

3. 完整代码

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


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

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

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

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

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

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