第六天

该博客展示了使用Selenium库爬取京东商品信息的Python代码。通过模拟浏览器操作,输入商品关键词,滚动页面获取商品列表,提取商品链接、名称、价格和评价人数等信息,并保存到文件中,还能自动翻页继续爬取。
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time


def get_good(driver):
    try:



        js_code = '''
                    window.scrollTo(0,5000);
                '''

        driver.execute_script(js_code)

        time.sleep(2)

        good_list = driver.find_elements_by_class_name('gl-item')
        time.sleep(2)
        for good in good_list:
            good_url = good.find_element_by_css_selector('.p-img a').get_attribute('href')
            # print(good_url)
            good_name = good.find_element_by_css_selector('.p-name em').text
            good_price = good.find_element_by_class_name('p-price').text.replace('\n', '')
            good_commit = good.find_element_by_css_selector('.p-commit').text.replace('\n', '')

            good_content = f'''
                商品链接: {good_url}
                商品名称: {good_name}
                商品价格: {good_price}
                评价人数: {good_commit}
                 \n
            '''
            with open('jd.txt', 'a', encoding='utf-8') as f:
                f.write(good_content)

        next_page = driver.find_element_by_class_name('pn-next')
        next_page.click()
        time.sleep(2)

        get_good(driver)

    finally:
            driver.close()

if __name__ == '__main__':
    input_good = input('请输入商品').strip()
    driver = webdriver.Chrome()
    driver.implicitly_wait(10)

    driver.get('https://www.jd.com/')
    input_tag = driver.find_element_by_id('key')
    input_tag.send_keys(input_good)
    input_tag.send_keys(Keys.ENTER)
    time.sleep(2)
    get_good(driver)

 

转载于:https://www.cnblogs.com/Vvvvyy/p/11048525.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值