基本原理: 主要利用selenium进行提取页面信息并不断点击下一页 代码如下:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Time : 2020/06/16 23:37:06
# @File : 爬取京东电商数据.py
# @Sortware: Vsc
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
def spider(url, keyword):
driver = webdriver.Chrome()
# 输入京东地址
driver.get(url)
# 定位输入框
input_tag = driver.find_element_by_id(key)
# 模拟键盘输入关键字
input_tag.send_keys(keyword)
# 键盘操作
input_tag.send_keys(Keys.ENTER)
# 等待
time.sleep(5)
get_goods(driver)
def get_goods(driver):
# 查找多个节点
goods = driver.find_elements_by_class_name(gl-item)
for good in goods:
# 链接
link = good.find_element_by_tag_name(a).get_attribute(href)
# 名字
name = good.find_element_by_class_name(p-name em).text.replace(
, )
# 价格
price = good.find_element_by_class_name(p-price i).text
# 评论
commit = good.find_element_by_class_name(p-commit a).text
# 格式化
msg =
商品:%s
链接:%s
价格:%s
评论:%s
%(name, link, price, commit)
print(msg)
# 点击下一页,通过定位超链接上面的文本元素
button = driver.find_element_by_partial_link_text(下一页).click()
time.sleep(2)
# 再次调用函数,不断循环
get_goods(driver)
spider(https://www.jd.com/, keyword=口罩)