爬取京东商品
Posted yanjiayi098-001
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了爬取京东商品相关的知识,希望对你有一定的参考价值。
爬取京东商品
爬取步骤分析
一、进入京东主页
? 找到商品输入框--输入商品名称--找到搜索按钮--点击搜索按钮
二、进入商品详情页
? 1、商品链接:
? 2、商品名称:
? 3、商品价格:
? 4、评论人数:
爬取代码
from selenium import webdriver # 用来驱动浏览器的 相当于模拟人的点击事件来连续的访问浏览器
from selenium.webdriver import ActionChains # 破解滑动验证码的时候用的 可以拖动图片
from selenium.webdriver.common.by import By # 按照什么方式查找,By.ID,By.CSS_SELECTOR
from selenium.webdriver.common.keys import Keys # 键盘按键操作
from selenium.webdriver.support import expected_conditions as EC # 和下面WebDriverWait一起用的
from selenium.webdriver.support.wait import WebDriverWait # 等待页面加载某些元素
import time
driver = webdriver.Chrome() #声明驱动对象
try:
# 等待标签加载
driver.implicitly_wait(10)
# 往京东主页发送get请求
driver.get('https://www.jd.com/')
input_tag = driver.find_element_by_id('key') #找到目标
input_tag.send_keys('macbook pro') #输入Python关键字
# 控制键盘,按回车键
input_tag.send_keys(Keys.ENTER)
# 找到所有商品的div标签,里面包含所有li商品信息
goods_div = driver.find_element_by_id('J_goodsList') #用这个元素找id是q的元素
# element:找第一个 elements:找所有
items = goods_div.find_elements_by_class_name('gl-item') #找class样式是gl-item
# 循环所有li标签
for item in items:
# 找到商品链接
good_link = item.find_element_by_css_selector('.p-img a').get_attribute('href') #通过css样式查找
# print(good_link)
# 商品名称
good_name = item.find_element_by_css_selector('.p-name em').text
# print(good_name)
# 商品价格
good_price = item.find_element_by_css_selector('.p-price i').text + '$'
# print(good_price)
# 评价人数
good_commit = item.find_element_by_css_selector('.p-commit a').text + "条评价"
# print(good_commit)
print('''
商品链接: %s
商品名称: %s
商品价格: %s
评价人数: %s
\n
'''% (good_link,good_name,good_price,good_commit))
text = '''
商品链接: %s
商品名称: %s
商品价格: %s
评价人数: %s
\n
'''% (good_link,good_name,good_price,good_commit)
with open('jd.txt','a',encoding='utf-8') as f:
f.write(text)
time.sleep(10)
finally:
driver.close()
以上是关于爬取京东商品的主要内容,如果未能解决你的问题,请参考以下文章