python爬虫:爬取京东商品信息

‘‘‘
初级版
‘‘‘

import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome(r‘C:\Users\Auraro\Desktop/chromedriver.exe‘)
num = 1
try:
    driver.implicitly_wait(10)
    driver.get(‘https://www.jd.com/‘)

    input_tag =  driver.find_element_by_id(‘key‘)
    input_tag.send_keys(‘墨菲定律‘)
    input_tag.send_keys(Keys.ENTER)

    time.sleep(5)

    good_list = driver.find_elements_by_class_name(‘gl-item‘)
    for good in good_list:
        # print(good)
        # 商品名称
        good_name = good.find_element_by_css_selector(‘.p-name em‘).text
        print(good_name)

        # 商品链接
        good_url = good.find_element_by_css_selector(‘.p-name a‘).get_attribute(‘href‘)
        print(good_url)

        # 商品价格
        good_price = good.find_element_by_class_name(‘p-price‘).text
        print(good_price)

        # 商品评价
        good_commit = good.find_element_by_class_name(‘p-commit‘).text
        good_content = ‘‘‘
        num={}
        商品名称:{}
        商品链接:{}
        商品价格:{}
        商品的评价条数:{}
        \n
        ‘‘‘.format(num,good_name,good_url,good_price,good_commit)
        print(good_content)
        with open(‘jd.txt‘,‘a‘,encoding=‘utf-8‘) as f:
            f.write(good_content)

    print(‘商品信息写入成功!‘)
finally:
    driver.close()

‘‘‘
终极版
‘‘‘

import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome(r‘C:\Users\Auraro\Desktop/chromedriver.exe‘)
num = 1
try:
    driver.implicitly_wait(10)
    driver.get(‘https://www.jd.com/‘)

    input_tag =  driver.find_element_by_id(‘key‘)
    input_tag.send_keys(‘墨菲定律‘)
    input_tag.send_keys(Keys.ENTER)

    time.sleep(5)

    # 下拉滑动5000px
    js_code = ‘‘‘
    windows.scrollTo(0,5000)
        ‘‘‘
    driver.execute_script(js_code)

    # 等待5s待商品数据加载
    time.sleep(5)

    good_list = driver.find_elements_by_class_name(‘gl-item‘)
    for good in good_list:
        # print(good)
        # 商品名称
        good_name = good.find_element_by_css_selector(‘.p-name em‘).text
        print(good_name)

        # 商品链接
        good_url = good.find_element_by_css_selector(‘.p-name a‘).get_attribute(‘href‘)
        print(good_url)

        # 商品价格
        good_price = good.find_element_by_class_name(‘p-price‘).text
        print(good_price)

        # 商品评价
        good_commit = good.find_element_by_class_name(‘p-commit‘).text
        good_content = ‘‘‘
        num={}
        商品名称:{}
        商品链接:{}
        商品价格:{}
        商品的评价条数:{}
        \n
        ‘‘‘.format(num,good_name,good_url,good_price,good_commit)
        print(good_content)
        with open(‘jd.txt‘,‘a‘,encoding=‘utf-8‘) as f:
            f.write(good_content)
        num += 1

    print(‘商品信息写入成功!‘)

    next_tag = driver.find_element_by_class_name(‘pn-next‘)
    next_tag.click

    time.sleep(10)

finally:
    driver.close()

‘‘‘
狂暴版
‘‘‘
from selenium import webdriver
from selenium.webdriver.common.keys import Keys  # 键盘按键操作
import time

#
def get_good(driver):
    num = 1
    try:
        time.sleep(5)

        #下拉滑动5000px
        js_code = ‘‘‘
                   window.scrollTo(0,5000)
                   ‘‘‘
        driver.execute_script(js_code)

        time.sleep(5) # 商品信息加载,等待5s
        good_list = driver.find_elements_by_class_name(‘gl-item‘)
        for good in good_list:
            # 商品名称
            good_name = good.find_element_by_css_selector(‘.p-name em‘).text
            # 商品链接
            good_url = good.find_element_by_css_selector(‘.p-name a‘).get_attribute(‘href‘)
            # 商品价格
            good_price = good.find_element_by_class_name(‘p-price‘).text
            # 商品评价
            good_commit = good.find_element_by_class_name(‘p-commit‘).text

            good_content = ‘‘‘
                       num:{}
                       商品名称:{}
                       商品链接:{}
                       商品价格:{}
                       商品评论:{}
                       \n
                       ‘‘‘.format(num,good_name,good_url,good_price,good_commit)
            print(good_content)
            # 保存数据写入文件
            with open(‘京东商品信息爬取.txt‘, ‘a‘, encoding=‘utf-8‘) as f:
                f.write(good_content)
            num += 1

        # 找到页面下一页点击
        next_tag = driver.find_element_by_class_name(‘pn-next‘)
        next_tag.click()

        time.sleep(5)
        #递归调用函数本身
        get_good(driver)

    finally:
        driver.close()

if __name__ == ‘__main__‘:
    driver = webdriver.Chrome(r‘C:\Users\Auraro\Desktop/chromedriver.exe‘)
    try:
        driver.implicitly_wait(10)
        driver.get(‘https://www.jd.com/‘)

        input = driver.find_element_by_id(‘key‘)
        input.send_keys(‘人间失格‘)
        input.send_keys(Keys.ENTER)
        get_good(driver)
        print(‘商品信息写入完成‘)
    finally:
        driver.close()

  

  

原文地址:https://www.cnblogs.com/Auraro997/p/11128158.html

时间: 2024-12-10 18:42:06

python爬虫:爬取京东商品信息的相关文章

Java爬虫爬取京东商品信息

<strong> java<em style="color:red;">爬虫</em></strong>工具:Jsoup Maven地址 <dependency> <!-- jsoup HTML parser library @ https://jsoup.org/ --> <groupId>org.jsoup</groupId> <artifactId>jsoup</ar

python爬虫实践——爬取京东商品信息

1 ''' 2 爬取京东商品信息: 3 请求url: 4 https://www.jd.com/ 5 提取商品信息: 6 1.商品详情页 7 2.商品名称 8 3.商品价格 9 4.评价人数 10 5.商品商家 11 ''' 12 from selenium import webdriver 13 from selenium.webdriver.common.keys import Keys 14 import time 15 16 17 def get_good(driver): 18 try

python制作爬虫爬取京东商品评论教程

作者:蓝鲸 类型:转载 本文是继前2篇Python爬虫系列文章的后续篇,给大家介绍的是如何使用Python爬取京东商品评论信息的方法,并根据数据绘制成各种统计图表,非常的细致,有需要的小伙伴可以参考下 本篇文章是python爬虫系列的第三篇,介绍如何抓取京东商城商品评论信息,并对这些评论信息进行分析和可视化.下面是要抓取的商品信息,一款女士文胸.这个商品共有红色,黑色和肤色三种颜色, 70B到90D共18个尺寸,以及超过700条的购买评论. 京东商品评论信息是由JS动态加载的,所以直接抓取商品详

python爬虫实战(一)----------爬取京东商品信息

本文章的例子仅用于学习之用,如涉及版权隐私信息,请联系本人删除,谢谢. 最近一直在练习使用python爬取不同网站的信息,最终目的是实现一个分布式的网络爬虫框架,可以灵活适用不同的爬取需求. 项目github地址: https://github.com/happyAnger6/anger6Spider 在学习的过程中遇到不少问题,在这里做一下总结,并分享出来,希望有兴趣的朋友批评指正,共同学习共同进步. 本着实用至上的目的,不准备过多讲实现细节和原理,直接通过项目需求来边实战边学习,因此本系列文

基于python的scrapy爬虫抓取京东商品信息

这是上的第二节爬虫课程的课后作业:抓取京东某类商品的信息,这里我选择了手机品类. 使用scrapy爬虫框架,需要编写和设置的文件主要有phone.py , pipelines.py , items.py , settings.py , 其中主要编写的是前两个文件,最后一个文件主要设置破解反爬方法. phone.py编写程序如下: import scrapy from scrapy.http import Request from jd_phone.items import JdPhoneItem

爬取京东商品信息和评价的爬虫实现源码

话不多说,直接上源码: var keyword = "d3.js";//@input(keyword, 查询关键字, 爬取该关键字搜索出来的京东商品) var comment_count = 100;//@input(comment_count, 爬取的评论数, 最多爬取多少条评论) var page_count = comment_count / 10; keyword = keyword.trim(); var scanUrls = []; scanUrls.push("

python爬虫爬取网上药品信息并且存入数据库

我最近在学习python爬虫,然后正好碰上数据库课设,我就选了一个连锁药店的,所以就把网上的药品信息爬取了下来. 1,首先分析网页 2,我想要的是评论数比较多的,毕竟好东西大概是买的人多才好.然后你会发现它的url地址是有规律的里面的j1是指第一页,j2第二页,这样构建一个url_list. 1 url_list = 'https://www.111.com.cn/categories/953710-a0-b0-c31-d0-e0-f0-g0-h0-i0-j%s.html'#然后循环获取响应 2

简易python爬虫 - 爬取站长论坛信息

爬取目标: 收集网站帖子里发帖人用户名,发帖人ID;帖子的ID,发帖内容;网站title 提前需要准备的python库 pip3 install requests //用于获得网站的源码 pip3 install bs4 //解析遍历网站标签 pip3 install urllib //解析网站的url 首先导入包 import requestsfrom bs4 import BeautifulSoupfrom urllib.parse import parse_qs,urlparse impo

c# 爬虫爬取京东所有商品信息

在一个小项目中,需要用到京东的所有商品ID,因此就用c#写了个简单的爬虫. 在解析HTML中没有使用正则表达式,而是借助开源项目HtmlAgilityPack解析HTML. 一.下载网页HTML 首先我们写一个公共方法用来下载网页的HTML. 在写下载HTML方法之前,我们需要去查看京东网页请求头的相关信息,在发送请求时需要用到. public static string DownloadHtml(string url, Encoding encode) { string html = stri