自动获取京东商城信息

设计思路:

进入京东首页;

搜索关键字;

进入商品页面;

抓当前页面的商品信息;

点击下一页;

重复步骤4,步骤5;

到最后一页结束爬取。

from selenium import webdriver
import time, random

driver = webdriver.Edge()
url =
'https://www.jd.com/'
driver.get(url)
tb_input = driver.find_element_by_css_selector(
'#key')
search_btn = driver.find_element_by_css_selector(
'.button')
tb_input.send_keys(
'手机')
time.sleep(
2)
search_btn.click()
time.sleep(
2)
for page in range(5):
    driver.execute_script(
'window.scrollTo(0,document.body.scrollHeight);')
    time.sleep(random.random()+
1)
ls = driver.find_element_by_css_selector(
'.gl-item')
for info in ls:
    title = info.find_element_by_css_selector(
'.p-name.p-name-type-2 a').text.strip()
   
print('title:', title)
    price = info.find_element_by_css_selector(
'div.p-price > strong > i').text.strip()
   
print('price:', price)
    shop = info.find_element_by_css_selector(
'span.J_im_icon > a').text.strip()
   
print('shop:', shop)
    comments = info.find_element_by_css_selector(
'div.p-commit > strong > a').text.strip()
   
print('comments:', comments)
   
print('='*200)
   
with open('./jd.txt',mode='a',encoding='utf-8') as fp:
        fp.write(
f'商品名:{title},价格:{price},店铺名:{shop},销量:{comments}')
time.sleep(random.random()*
2)
btn_next = driver.find_element_by_css_selector(
'a.pn-next')
btn_next.click()
driver.close()
driver.quit()

有个问题,在于你必须提前登录京东,浏览器要有账户信息的缓存,否则就会停留在登录界面,无法继续。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值