Python爬取某宝宝商品评论等数据

该代码段展示了一个Python脚本,用于从淘宝商品详情页获取用户评价信息。它利用requests库发送GET请求,通过设置headers和特定的参数来模拟浏览器行为,抓取指定商品的评价内容、评价日期、用户名和商品类型。脚本还包含了异常处理和随机延迟,以防止被服务器封锁。数据抓取后存储到CSV文件中。
摘要由CSDN通过智能技术生成

提前准备参数
在这里插入图片描述

import re
import requests
import random
import time
import pandas as pd

df = []
# 这里的信息要从list_detial里找,上面的截图就是
headers = {
    'cookie': '',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36 Edg/98.0.1108.62',
    'referer': 'https://detail.tmall.com/item.htm?id=539339147058&price=99&sourceType=item&sourceType=item&suid=e9ca3123-b90d-4ed5-b31f-08f696654755&ut_sk=1.XVltFfIJHZADAP26 uLU46qu_21646297_1646213190055.Copy.ShareGlobalNavigation_1&un=bf83687cd45b2be19a2d98b7feb65231&share_crt_v=1&un_site=0&spm=a2159r.13376460.0.0&tbSocialPopKey=shareItem&sp_tk=Q0c0ZTI0cnRhZHM=&cpp=1&shareurl=true&short_name=h.fMQsL31&bxsign=scdLssu8BjsPSMY422ksv9WiDQBjg3Ih_OKP8X8cJgTl5W3pRkm74cPZeKXptUmWhTSFuRQNlnWc7SUD1w2I3VdhjkFDjEAGAre3x1CMDXKBsh4MyL5hqQLpo6LhUFDB22U&sm=3d25d1?tk=CG4e24rtads&app=chrome&skuId=4571541867149',
    'accept-encoding': 'gzip, deflate, br',
    'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6'
}
url = 'https://rate.tmall.com/list_detail_rate.htm'


def get_html(url, header, page):
    t_param = time.time()
    t_list = str(t_param).split(".")
    # 这里的参数对应上面的url信息
    params = {
        'itemId': 556732726926,
        'spuId': 866309580,
        'sellerId': 725677994,
        'order': 3,
        'currentPage': page,
        'append': 0,
        'content': 1,
        "callback": 'jsonp'+str(int(t_list[1][3:]) + 1),
        "_ksTS": t_list[0] + t_list[1][:3] + "_" + t_list[1][3:]
    }
    r = requests.get(url, headers=header, params=params)
    if r.status_code == 200:
        return r.text
    else:
        pass


def get_item(num):
    user_name = []
    item_type = []
    rate_content = []
    rate_date = []
    for page in range(1, num):
        try:
            text = get_html(url, headers, page)
            user_name.extend(re.findall('"displayUserNick":"(.*?)"', text))
            item_type.extend(re.findall('"auctionSku":"(.*?)"', text))
            rate_content.extend(re.findall('"rateContent":"(.*?)"', text))
            rate_date.extend(re.findall('"rateDate":"(.*?)"', text))
			# 输出看看
            # print(user_name)
            # print(item_type)
            # print(rate_date)
            # print(rate_content)
            
            print(f"第{page}页爬取完毕")

            time.sleep(random.randint(3,9))
        except:
            print("Nothing you catch")

    for i in range(len(user_name)):
        df.append([user_name[i], rate_date[i], item_type[i], rate_content[i]])
        
    df1 = pd.DataFrame(df, columns=['user_name', 'rate_date', 'item_type', 'rate_content'])
    
    df1.to_csv('taobao_items.csv', index=False, encoding='utf-8')


if __name__ == '__main__':
# num 控制页数
    num = 5
    get_item(num)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【资源说明】 基于python实现爬取携程景点数据评论数据源码+项目说明.zip 基于python实现爬取携程景点数据评论数据源码+项目说明.zip 基于python实现爬取携程景点数据评论数据源码+项目说明.zip 1、该资源内项目代码都是经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能。 爬取结果有两部分:`data/poi.csv`为**景点数据**,`data/comment/{id}.csv`为对应ID的景点的**评论数据** 评论内容的爬取有两种方法: 将`config.ini`中的`isCrawlComment`置为1,运行`poi_crawl.py`文件,在爬取 景点数据 的过程中爬取 评论数据 将`config.ini`中的`isCrawlComment`置为0,运行`poi_crawl.py`文件,在爬取 景点数据 结束后运行再运行`comment_crawl.py`文件,获取 景点数据 中的所有景点的评论 每次运行前都会在同一文件夹下复制一份上一次爬取的景点结果的备份,名为`back.csv` 数据中 **价格**、**最低价格**为response中的数据,暂无参考价值 后面四种人群门票价格为**预估的销量加权平均价格**,如果有不同需求可以修改 `GetTicketPrice` 函数。(返回的数据为所有的门票价格) 景点数据中的**开放时间**与**优惠政策** 数据的格式为json格式 爬取评论数据 格式为: **用户ID** **评论文本** **发送时间戳** **赞同数**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值