Python3——爬取淘宝评论

一、分析目标

  • 爬取淘宝商品评论详情

二、分析网页加载流程

  • 目标数据是否在网页源代码中(即右键——查看源代码)

    • 不在
  • 目标数据在审查元素中(即右键——审查元素或f12)

    • f12——>Network——>f5 重新加载并记录网页活动——>点击网页评论——>Name——>Preview找评论信息(script类型(Type))——>Header从中找记录评论信息的网址

三、分析目标数据的请求。分析参数、自己构造url

1. 找到网址:

https://rate.tmall.com/list_detail_rate.htmitemId=539137284584&spuId=701871908&sellerId=929347050&order=3&currentPage=1&append=0&content=1&tagId=&posi=&picture=&ua=098%23E1hvLpvWvRQvUvCkvvvvvjiPPFSptjlbPLsy6jYHPmP96jrWn2s9ljiEPFMyQjrURphvCvvvvvmCvpvW7D%2BnMq5w7Di4OzbNdphvHmQhsUE8o9v9BmeS8kH2mOcEmfwGiQhvCvvv9UUPvpvhvv2MMQhCvvOvUvvvphmivpvUvvmv%2BJZCZ94EvpvVmvvC9jxvKphv8vvvvvCvpvvvvvmmH6CvvHIvvUUdphvWvvvv9krvpv3Fvvmm86CvmVWEvpCWCh%2BMvvaw1WCl%2Bb8rwZHlYhzBRfpKofkXAf00Io3EAp0YyfUZEcqh1j7yHdUfbcc6D76fde%2BRfwLvaB46NZ59QnkQRqwiLO2vqU0QKLyCvvpvvvvv3QhvCvvhvvv%3D&isg=BBwcrmBIqyRNj10slC4flSrd7ToOPcHVm6szQvYdFofqQb3LHqQ2T4ezpam5SfgX&needFold=0&_ksTS=1527496615091_664&callback=jsonp665

2.分析

    • currentPage:当前页数,动态更新(通过requests(url)输出总共的页数,这里是共99页)
    • _ksTS:时间戳,动态更新——>需要人为设置,动态传入参数(time.time()函数)
    • callback:回调函数,据观察,callback=jsonp665(665=664+1——1527496615091_664)

3.构造url,requests.get()的参数 pagram

    • get到数据

      • response = requests.get(url, params=pagram)
      • data = response.text

  4.写入库

    • 解析数据,通过正则匹配项,找到data中需要的部分
    • 将获取的json数据类型转为字典类型
    • 找data中需要的部分
    • 将需要的部分写入库

代码粘贴如下:

 1 # -*- coding:utf-8 -*-
 2
 3 # _ksTS=1526545121518_1881时间戳滞后了 ∴要动态的传参数——(导入time模块)
 4 # callback=jsonp1882
 5 import requests
 6 import time
 7 import random
 8 import re
 9 import json
10
11 url = ‘https://rate.tmall.com/list_detail_rate.htm?itemId=539137284584&spuId=701871908&sellerId=929347050&order=3&append=0&content=1&tagId=&posi=&picture=&ua=098%23E1hvsvvLvZIvUpCkvvvvvjiPPFdZ6jtPPLqOzjivPmPh1jDRRFchAjYbPsMh6jYWR46Cvvyv2vZjwchvJCurvpvEvvkUCgR2vV2LdphvmpvhOQb3gpCU4UhCvCLwMCHJGaMwznAY8xS50YAizRl4k46CvvyvCWgmYNZvECojvpvhvvpvvvGCvvpvvPMMuphvmvvv9bhrvjKCkphvC99vvOClpbyCvm9vvvvvphvvvvvv9F1vpvkjvvmmZhCv2CUvvUEpphvWwpvv9DCvpv11mphvLvp%2F6QvjWz7%2BkU97%2B3%2BraNBraB4AVAElYWmQrEt1pwLU%2BnezrmphQRAn3feAOHcIAXcBKFyK2ixrQj7Jymx%2F1j7QiXTAVArlMR29VEQCvpvVvvpvvhCvRphvCvvvvvm5vpvhvvmv9u6CvvyvCV4mRLyvVbervpvEvvBxvkgKv2kqRphvCvvvvvmCvpvZz2sm4VdNznswvCDfY0IwXaAv7Ihtvpvhvvvvvv%3D%3D&isg=BBgYp5ys9ga0jdox7XxaDMe26UbZGXLdB_e3zlII19NS7bvX-hKvGsuvISVdfTRj&needFold=0‘
12
13 # 发送 http://请求
14 # t = time.time() 时间戳time()函数
15 # csv文件 excle 可以打开
16
17 f = open(‘votes.csv‘,‘w‘,encoding=‘gbk‘)
18 f.write(‘评价内容,店家回复,昵称\n‘)
19 for i in range(99):
20     t = str(time.time()).split(‘.‘)
21
22     # 构造url的过程,get请求的参数
23     pagram = {
24         ‘currentPage‘: i+1,
25         ‘_ksTS‘: ‘%s_%s‘ % (t[0], t[1]),
26         ‘callback‘: ‘jsonp%s‘ %(int(t[1])+1)
27     }
28
29     # 随机休眠,行为分析,防止访问过快,避免被网站检测到有问题
30     time.sleep(random.random())
31
32     response = requests.get(url, params=pagram)
33     # 数据持久化——入库、文件
34     # csv文件:通过‘,‘区分
35     data = response.text
36
37     # 解析数据
38     data = re.findall(r‘{.*}‘, data)[0]
39     # json模块可以将  Json数据<——>为字典 互相转换
40
41     # Json数据——>转为字典
42     data = json.loads(data)
43     data = data[‘rateDetail‘][‘rateList‘]
44     print(data)
45     for item in data:
46         f.write(‘%s,%s,%s‘% (
47             item[‘rateContent‘].replace(‘,‘, ‘,‘),
48             item[‘reply‘].replace(‘,‘, ‘,‘),
49             item[‘displayUserNick‘]))

原文地址:https://www.cnblogs.com/ruyingsuixing/p/9101051.html

时间: 2024-10-07 07:29:04

Python3——爬取淘宝评论的相关文章

python3爬取淘宝美食

环境:ubuntu16.04python3.5python库: selenium, pyquery,pymongo, re 要求:设置×××面浏览器访问,并将商品列表存入mongoDB数据库. 分析流程: #!/usr/bin/env python # -*- coding:utf-8 -*- """ 1.爬取淘宝美食的流程 - 搜索关键字: 用selenium打开浏览器,模拟输入关键字,并搜索对应的商品列表. - 分析页码并翻页,模拟翻页,查看到所有页面的商品列表. - 分

python爬取ajax动态生成的数据 以抓取淘宝评论为例子

在学习python的时候,一定会遇到网站内容是通过ajax动态请求.异步刷新生成的json数据的情况,并且通过python使用之前爬取静态网页内容的方式是不可以实现的,所以这篇文章将要讲述如果在python中爬取ajax动态生成的数据. 至于读取静态网页内容的方式,有兴趣的可以查看博客内容. 这里我们以爬取淘宝评论为例子讲解一下如何去做到的. 这里主要分为了四步: 一 获取淘宝评论时,ajax请求链接(url) 二 获取该ajax请求返回的json数据 三 使用python解析json数据 四

【Python3 爬虫】14_爬取淘宝上的手机图片

现在我们想要使用爬虫爬取淘宝上的手机图片,那么该如何爬取呢?该做些什么准备工作呢? 首先,我们需要分析网页,先看看网页有哪些规律 打开淘宝网站http://www.taobao.com/ 我们可以看到左侧是主题市场,将鼠标移动到[女装/男装/内衣]这一栏目,我们可以看到更细类的展示 假如我们现在需要爬取[羽绒服],那么我们进入到[羽绒服]衣服这个界面 此时查看浏览器地址,我们可以看到 网址复制到word或者其他地方会发生url转码 我们可以选中[羽绒服模块的第1,2,3页进行网址对比],对比结果

用selenium爬取淘宝美食

'''利用selenium爬取淘宝美食网页内容''' import re from selenium import webdriver from selenium.common.exceptions import TimeoutException from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.su

爬虫实例之selenium爬取淘宝美食

这次的实例是使用selenium爬取淘宝美食关键字下的商品信息,然后存储到MongoDB. 首先我们需要声明一个browser用来操作,我的是chrome.这里的wait是在后面的判断元素是否出现时使用,第二个参数为等待最长时间,超过该值则抛出异常. browser = webdriver.Chrome() wait = WebDriverWait(browser,10) 声明好之后就需要进行打开网页.进行搜索的操作. #使用webdriver打开chrome,打开淘宝页面,搜索美食关键字,返回

利用Python爬虫爬取淘宝商品做数据挖掘分析实战篇,超详细教程

项目内容 本案例选择>> 商品类目:沙发: 数量:共100页  4400个商品: 筛选条件:天猫.销量从高到低.价格500元以上. 项目目的 1. 对商品标题进行文本分析 词云可视化 2. 不同关键词word对应的sales的统计分析 3. 商品的价格分布情况分析 4. 商品的销量分布情况分析 5. 不同价格区间的商品的平均销量分布 6. 商品价格对销量的影响分析 7. 商品价格对销售额的影响分析 8. 不同省份或城市的商品数量分布 9.不同省份的商品平均销量分布 注:本项目仅以以上几项分析为

利用Selenium爬取淘宝商品信息

一.  Selenium和PhantomJS介绍 Selenium是一个用于Web应用程序测试的工具,Selenium直接运行在浏览器中,就像真正的用户在操作一样.由于这个性质,Selenium也是一个强大的网络数据采集工具,其可以让浏览器自动加载页面,这样,使用了异步加载技术的网页,也可获取其需要的数据. Selenium模块是Python的第三方库,可以通过pip进行安装: pip3 install selenium Selenium自己不带浏览器,需要配合第三方浏览器来使用.通过help命

淘宝密码(爬虫爬取淘宝美食的数据源码)

淘宝密码(爬虫爬取淘宝美食的数据源码) 正则匹配找规律 import re import requests # 在搜索框中输入美食得到的数据q=%E7%BE%8E%E9%A3%9Furl = 'https://s.taobao.com/search?q=%E7%BE%8E%E9%A3%9F'response = requests.get(url)# print(response.text) # 用正则对html源码进行解析到一个json数据pattern = re.compile('g_page

selenium跳过webdriver检测并爬取淘宝我已购买的宝贝数据

简介 上一个博文已经讲述了如何使用selenium跳过webdriver检测并爬取天猫商品数据,所以在此不再详细讲,有需要思路的可以查看另外一篇博文. 源代码 # -*- coding: utf-8 -*- from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.w