精华内容
下载资源
问答
  • 本次python实战,主要目标是利用 Python爬取京东商品评论数,如上图所示:爬取“Python之父”推荐的小蓝书,这些信息主要包括用户名、书名、评论等信息。爬取的网址url是https://item.jd.com/12531181.html,爬取后...

    本次python实战,主要目标是利用 Python爬取京东商品评论数,如上图所示:爬取“Python之父”推荐的小蓝书,这些信息主要包括用户名、书名、评论等信息。

    爬取的网址url是 https://item.jd.com/12531181.html ,爬取后的结果会保存在csv文件里面,便于数据分析。

    01

    如何准备爬虫环境?

    其实不难

    环境:MAC + Python3.6 ;  IDE:Pycharm.  具体使用的模块如下。

    import requests

    但是如果你的系统上安装了anaconda,模块requests已经安装完成,但是 pycharm软件不能识别。

    此时,需要使用preferences直接进行安装,入下图所示,点击+,直接安装即可。

    0c4251a77f920db219f9a9216145674f.png

    02

    爬虫分析真的很重要

    准备工作

    我们的目标是爬取京东的《零基础轻松学PYTHON》评论数,打开网页发现评论的页数很多。

    也就是说我们需要解析多个页面。因此,我们想到使用一个for循环来实现

    0d14baad70522f9711527f5b7206eaf6.png

    那么该如何找到评论的网址呢?首先,打开浏览器,比如chrome,然后右键选择检查,调出来网页源代码,如下图:

    76962ce8e51c93f895737963de82bdb9.png

    然后,点击Network选项卡,并且把左边的网页翻滚到评论数,最后搜索COMMEN。如下图:你会发现红框里面的URL。该网址就是我们爬取的网址。

    d02f8ca2d2f3e071f52cb256d4c36fc9.png

    具体的网址是  https://sclub.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98vv36&productId=12531181&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&fold=1。通过观察,我们发现page=0,pagesize=10等信息。

    并且当你点击下一页时,您会发现page=2,而网址中的其他信息没有变化,如图所示:

    ab08775f6677c0600579ec8dab8498ce.png

    因此,我们构造循环即可实现对多个网页的爬取,比如100个网页,代码如下:

    if __name__ == '__main__':# 循环100次    for i in range(101):
    main(start=i)

    03

    真正开始爬取评论数

    两步走

    根据以前爬虫文章(爬虫实战)的解析 ,我们分2步爬取本次任务。第一步是解析网页;第二步是爬取评论数并且保存文件。

    为了方便代码可复用性和简洁,我们把两步写入两个函数里,分别是begain_scraping()和python_coments(),代码如下:

    def main(start):"""    开始爬取    :return:    """    # 第一步解析网页    comments_jd = begain_scraping(start)# 第二步 爬取评论并保存文件    python_comments(comments_jd)

    04

    开始解析网页

    第一步

    解析网页,也就是编写begain_scraping(),代码如下:

    d766b6eec3c23c0272e0890cff6e6536.png

    首先,根据爬取的网址(https://sclub.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98vv36&productId=12531181&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&fold=1,我们得到下面信息:

    # 构造商品地址url_jd = 'https://sclub.jd.com/comment/productPageComments.action?callback'# 网页信息vari_p = {# 商品ID    'productId': 12531181,  # 换成你想爬取的ID就可以了    'score': 0,    'sortType': 5,    # 爬取页面    'page': page,    'pageSize': 10,}

    为了防止反爬虫,我们构造一个伪装浏览器,然后开始爬取,代码如下:

    # 防止反爬虫,不需要更换headers = {'cookie': 'shshshfpaJsAhpiXZzNtbFCHZXchb60B240F81702FF',    'referer': 'https://item.jd.com/11993134.html',    'user-agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36'}
    comment_jd = requests.get(url=url_jd, params=vari_p, headers=headers)

    05

    开始爬取评论数并保存

    第二步

    开始爬取评论数并保存,也就是实现函数python_comment。本函数主要是对爬取的网页解析,然后保存在CSV文件。这也是模块化编程,逻辑清洗 ,代码简洁高效。具体代码如下:

    def python_comments(comment_resp):"""    爬取数据并且写入评论    :param comment_resp:    :return:    """    comment_js = comment_resp.text
    comment_dict = json.loads(comment_js)
    comments_jd = comment_dict['comments']for comment in comments_jd:
    user = comment['nickname']
    color = comment['productColor']
    comment_python = comment['content']# 写入文件 with open('comments_jd.csv', 'a', newline='')as csv_file:
    rows = (user, color, comment_python)
    writer = csv.writer(csv_file)
    writer.writerow(rows)

    06

    爬取结果展示

    效果

    首先,在pycharm软件控制台 ,您可以看到爬取页面信息,如下:

    25abcf0cd4e5c08fd8116871fba01278.png

    另外,您会在项目下面, 多了一个CSV文件,就是我们保存的文件。打开看一下效果吧:

    4c0dc1955b9d28cf172c5e23527c6a0e.png

    通过大家的评论,我们可以看出《轻松学Python》特别适合零基础的小伙伴学

    展开全文
  • Python爬取网页全代码,python爬虫万能代码,#爬取京东代码im#爬取京东代码import requestsurl = "http://item.jd.com/2967929.html"try:r = requests.get(url)r.raise_for_status() #在返回200不产生异常,否则...

    Python爬取网页全代码,python爬虫万能代码,#爬取京东全代码im

    #爬取京东全代码import requests

    url = "http://item.jd.com/2967929.html"

    try:

    r = requests.get(url)

    r.raise_for_status() #在返回200不产生异常,否则会产生异常

    r.encoding = r.apparent_encoding

    print(r.text[:10000])

    except:

    print("爬取失败")#爬取亚马逊全代码

    import requests

    url = "https://www.amazon.cn/gp/product/B01M8L5Z3Y"

    try:

    kv = {‘user-agent‘:‘Mozilla/5.0‘}

    r = requests.get(url,headers=kv)

    r.raise_for_status() #在返回200不产生异常,否则会产生异常

    r.encoding = r.apparent_encoding

    print(r.text[1000:2000])

    except:

    print("爬取失败")#爬取百度搜索全代码

    import requests

    keyword = "Python"

    try:

    kv = {‘wd‘:keyword}

    r = requests.get("http://www.baidu.com/s",params=kv)

    print(r.request.url)

    r.raise_for_status()

    print(len(r.text))

    except:

    print("爬取失败")#爬取360搜索全代码

    import requests

    keyword = "Python"

    try:

    kv = {‘q‘:keyword}

    r = requests.get("http://www.so.com/s",params=kv)

    print(r.request.url)

    r.raise_for_status()

    print(len(r.text))

    except:

    print("爬取失败")

    Python爬取网页全代码

    展开全文
  • /usr/bin/python# -*- coding: UTF-8 -*-import requestsimport reimport jsonimport timeimport xlwtimport random###配置表格#不需要明白是干啥的#有下面4行代码就可以往表格写中文了#style=xlwt.XFStyle()font=...

    #!/usr/bin/python

    # -*- coding: UTF-8 -*-

    import requests

    import re

    import json

    import time

    import xlwt

    import random

    #

    #

    #配置表格

    #不需要明白是干啥的

    #有下面4行代码就可以往表格写中文了

    #

    style=xlwt.XFStyle()

    font=xlwt.Font()

    font.name='SimSun'

    style.font=font

    #创建一个表格

    w=xlwt.Workbook(encoding='utf-8')

    #添加个sheet

    ws=w.add_sheet('sheet 1',cell_overwrite_ok=True)

    #当前写入表格到第 row行

    row=1

    #

    #写入表格头

    #

    ws.write(0,0,'content')

    ws.write(0,1,'userClientShow')

    ws.write(0,2,'creationTime')

    ws.write(0,3,'userLevelName')

    ws.write(0,4,'productColor')

    ws.write(0,5,'userLevelId')

    ws.write(0,6,'score')

    ws.write(0,7,'referenceName')

    ws.write(0,8,'referenceTime')

    ws.write(0,9,'isMobile')

    ws.write(0,10,'nickname')

    #

    #接受一个json对象

    #将内容写进表格

    #一次一页评论

    #

    def write_json_to_xls(dat):

    global row

    for comment in dat['comments']:

    ws.write(row,0,comment['content'])

    ws.write(row,1,comment['userClientShow'])

    ws.write(row,2,comment['creationTime'])

    ws.write(row,3,comment['userLevelName'])

    ws.write(row,4,comment['productColor'])

    ws.write(row,5,comment['userLevelId'])

    ws.write(row,6,comment['score'])

    ws.write(row,7,comment['referenceName'])

    ws.write(row,8,comment['referenceTime'])

    ws.write(row,9,comment['isMobile'])

    ws.write(row,10,comment['nickname'])

    row+=1

    #

    #

    # 循环获取数据

    #

    #

    hearders = {"Referer": "https://item.jd.hk/2990360.html",

    "User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36'"}

    auto_jquery = 8809536

    for i in range(1,10+1):

    #url='https://club.jd.com/comment/productPageComments.action?productId=1475512465&score=0&sortType=5&page=%d&pageSize=100&isShadowSku=0&fold=' % i

    #url = 'https://sclub.jd.com/comment/productPageComments.action?callback=jQuery2663266&productId=2990360&score=2&sortType=5&page=%d&pageSize=10&pin=null&_=1563330030798' % i

    url = 'https://sclub.jd.com/comment/productPageComments.action'

    #print(url)

    try:

    auto_jquery = auto_jquery+1

    jquery = 'jQuery%d' % auto_jquery

    times = random.randint(100,999)

    print times

    auto_tims = int(time.time())

    true_string = '%d%d' %(auto_tims, times)

    print true_string

    params = {'callback':jquery,'productId':'2990360','sortType':'5','page':i,'pageSize':'10','pin':'null','_':true_string,'score':'2'}

    json_req = requests.get(url,params=params,headers=hearders)

    print('11111111111111111111111')

    print (json_req.url)

    print (json_req.text)

    print('22222222222222222222222')

    flag = json_req.text.split('(')

    flag_two = flag[1].split(')')

    print flag_two[0];

    print ('666666666666666666')

    json_flag = json.loads((flag_two[0]))

    print json_flag['comments']

    #dat = json_req.json()

    write_json_to_xls(json_flag)

    print(u'写入第%d页数据'%i)

    except Exception as e:

    print(u'获取数据失败数据',e)

    time.sleep(0.5)

    #将数据存进表格

    w.save('result.xls')

    展开全文
  • Python 爬取京东商品评论 + 词云展示

    千次阅读 多人点赞 2020-08-12 10:03:14
    利用python爬虫爬取京东商品评论数据,并绘制词云展示。

    利用python爬虫爬取京东商品评论数据,并绘制词云展示。

    原文链接:https://yetingyun.blog.csdn.net/article/details/107943979
    创作不易,未经作者允许,禁止转载,更勿做其他用途,违者必究。

    1. 爬取商品评论数据

    在京东商城里搜索三只松鼠,选取一家店铺打开
    在这里插入图片描述
    点开商品评价,选择只看当前商品评价,按时间排序查看,发现一页有10条评论。
    在这里插入图片描述
    打开谷歌的调试工具,点开Network查看,京东的商品评论信息是存放json包中的。

    展开全文
  • python爬取京东商品评价信息* 1.如何使用python爬取京东评价信息呢? 首先,我们需要明确自己的爬虫目的,知道自己想要抓取哪些信息。 下面以空气净化器为例进行介绍。 1.打开python编辑器,调用request库 import ...
  • 直接送上代码import urllib.requestimport jsonimport jsonpathimport timeend_page = int(input('请输入爬取的结束页码:'))for i in range(0,end_page+1):print('第%s页开始爬取------'%(i+1))url = '...
  • Python爬取京东商品评论和图片下载

    千次阅读 2019-01-29 15:45:51
    Python爬取京东商品评论和图片下载 代码仅供学习使用,切勿扩散并且频繁爬取网站 贴上代码和注释,方便自己下次看
  • 京东商品评论是动态网页,用get请求,但是得到之后不是json,所以就需要去一个参数或者返回text,然后用切片 1、更改url参数返回json url获取方法:打开京东商品,用谷歌开发者工具,找到network,然后刷新,查找...
  • Python爬取京东商品信息

    千次阅读 2020-10-30 20:56:49
    *使用Python爬取京东华为手机前十页的所有商品的链接、名称、价格、评价数以及店铺名称。 1.前期准备 (1)下载驱动 我使用的是谷歌浏览器,所以要下载谷歌驱动,用来告诉电脑在哪打开浏览器 驱动文件下载地址:...
  • Python爬取京东商品评论(三)

    千次阅读 2020-05-09 13:09:35
    链接:Python爬取京东商品评论(一) 第二篇中我对第一篇的程序进行了大量的修改,改进了数据量、自动化等问题,对程序代码进行了整理,程序功能已经比较完整且稳定。链接:Python爬取京东商品评论(二) 本篇...
  • Python爬取京东手机商品参数,通分析每款手机的网页结构,爬取整个京东手机分类中的手机产品参数
  • 爬取京东商品信息: 功能: 通过chromeDrive进行模拟访问需要爬取的京东商品详情页(https://item.jd.com/100003196609.html)并且程序支持多个页面爬取,输入时以逗号分隔, 思路: 创建webdriver对象并且调用get方法...
  • Python爬取京东商品评论(二)

    千次阅读 2020-03-23 18:47:01
    上一篇博客中简单实现了京东商品评论的爬虫(Python爬取京东商品评论),由于这个爬虫是我毕设的一部分,所以我需要对这个程序做一些补充,上一篇的程序中有许多不足的地方,下面我逐个解决。 1、首先是评论页数的...
  • python爬取京东商品列表信息

    万次阅读 2019-10-30 10:02:44
    目标是爬取指定商品商品列表信息,包括商品名,价格,评论数,店铺名 打开京东页面,随便搜一个笔记本,F12打开NetWork开始抓包,翻个3页,遇到断点就按F8执行,然后看到第一个返回内容的ajax请求,是返回了第1页...
  • python爬取京东商品评论稳1W+如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,...
  • Python爬取京东商品评论

    千次阅读 2020-03-04 21:31:29
    京东商城的页面不是静态页面,其评论信息存放于json文件中,由ajax控制,所以我们在浏览器上看到的网页源代码和用Python爬下来的是不一样的,所以我们真正要爬取的是评论数据所存放的json文件。 首先打开一个京东...
  • python爬取京东商品信息

    千次阅读 2017-09-27 01:05:19
    本文主要采用python selenium 模块进行京东商品信息的采集。由于京东的搜索页面载入时只加载30条记录,只有下拉到页面底部后,再加载另外30条记录。为完整抓取其信息,本文采用了selenium + phantomjs 的方式进行...
  • 利用python爬虫爬取京东商品评论数据,并绘制词云展示。 1. 爬取商品评论数据 在京东商城里搜索三只松鼠,选取一家店铺打开 点开商品评价,选择只看当前商品评价,按时间排序查看,发现一页有10条评论。 ...
  • 爬虫的介绍  互联网中最有价值的便是数据,比如天猫商城的商品信息,链家网的租房信息,雪球网的证券投资...爬取代码 import requests from lxml import etree from urllib.parse import urlencode class jingdong
  • 技术要点本文我们用京东网站作为测试目标,而电商网站都有很多动态内容,比如,产品价格和评论数等等,往往采用后加载的方式,在html源文档加载完成以后再执行javascript代码把动态内容填写上,所以,本案例主要验证...
  • python爬取京东商品列表

    千次阅读 2019-05-10 15:45:08
    本文我们用京东网站作为测试目标,而电商网站都有很多动态内容,比如,产品价格和评论数等等,往往采用后加载的方式,在html源文档加载完成以后再执行javascript代码把动态内容填写上,所以,本案例主要验证动态内容...
  • 利用python爬取京东数据
  • Python爬取京东商品评论(2)

    千次阅读 2018-01-21 21:01:03
    利用Python爬取京东评论 首先打开京东的页面,输入你想要查找的某项商品的名称,这里用贝因美的某一款奶粉举例 下拉点开商品评论,可以看到本商品的对应评论。现在我们的目的就是利用爬虫来获取这些评论。接下来...
  • 利用Python爬取京东任意商品数据 今天给大家展示爬取京东商品数据 首先呢还是要分思路的,我分为以下几个步骤: 第一步:得到搜索指定商的url 第二步:获得搜索商品列表信息 第三步:对得到的商品数据进行分析...
  • Python爬取京东

    2018-10-31 00:23:29
    使用Python爬虫爬取京东商铺信息,利用selenium和re库
  • #!/usr/bin/python # -*- coding: UTF-8 -*- import requests import re import json import time import xlwt import random # # #配置表格 #不需要明白...
  • 爬取代码: import requests from bs4 import BeautifulSoup def page_url(url): for i in range(1, 3): if (i % 2) == 1: message(url.format(i)) def message(url): res = r...
  • 前言如今的京东、淘宝、天猫等等已经不同往日了, 在用户不登录的情况下, 很难通过技术手段来大规模获取到我们关注的商品信息. 关于京东等购物网站的自动登录也有很多人在做, 但是大厂的反爬能力确实很强, 目前能查阅...
  • 直接送上代码 import urllib.request import json import jsonpath import time end_page = int(input('请输入爬取的结束页码:')) for i in range(0,end_page+1): print('第%s页开始爬取------'%(i+1)) url = '...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,731
精华内容 1,492
关键字:

python爬取京东商品代码

python 订阅