爬虫爬取京东商品信息

该代码示例展示了如何利用Python的Selenium库和Chrome浏览器驱动程序抓取京东网站上的商品数据,包括商品名称、价格、图片链接和商品详情链接。通过CSS选择器定位元素,并处理可能的异常情况,实现页面翻页功能。
摘要由CSDN通过智能技术生成
import time
from lxml import etree
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
# 键盘按键操作
from selenium.webdriver.chrome.options import Options


# 爬取多页数据
def get_goods(bro):
    goods = bro.find_elements(By.CLASS_NAME, 'gl-item')
    for good in goods:
        try:
            price = good.find_element(By.CSS_SELECTOR, 'div.p-price i').text
            href = good.find_element(By.CSS_SELECTOR, 'div.p-name a').get_attribute('href')
            img = good.find_element(By.CSS_SELECTOR, 'div.p-img > a > img').get_attribute('src')
            name = good.find_element(By.CSS_SELECTOR, 'div.p-name.p-name-type-2 > a > em').text
            if not img:
                img = 'https:' + good.find_element(By.CSS_SELECTOR, 'div.p-img > a > img').get_attribute(
                    'data-lazy-img')
            print('''
            商品名称:%s
            商品价格:%s
            商品图片:%s
            商品连接:%s 
            ''' % (name, price, img, href))
        except Exception as e:
            print(e)
            continue
    next = bro.find_element(By.PARTIAL_LINK_TEXT, '下一页')
    next.click()


options = Options()
# 取出浏览器自动化控制
options.add_argument("--disable-blink-features=AutomationControlled")
bro = webdriver.Chrome(options=options)
bro.get('https://www.jd.com/')
bro.implicitly_wait(10)
try:
    search_input = bro.find_element(By.ID, 'key')
    search_input.send_keys('猫咪饮水机')
    # 回车
    search_input.send_keys(Keys.ENTER)
    # 退格
	# search_input.send_keys(Keys.BACK_SPACE)
    get_goods(bro)
except Exception as e:
    print(e)
finally:
    bro.close()

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值