爬虫爬取某游戏评论

本次的目标网站为:
https://www.taptap.com/app/192976/review
首先进去网站可以看到如下界面
在这里插入图片描述
进去网站后找到所有评论所在位置你然后点击,点击"F12"以后点击" Netword "以后刷新可以得到如下界面
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如上图,不断的将评论往下拉可以看到右边会新加一些请求,就会发现该网站为动态网站,点开这些请求以后,会发现我们所与需要的数据就在 这里:
观察这些网址的参数

下面为第一个网址的参数
app_id: 192976
limit: 10
mainRequest: true
from: 10
X-UA: V=1&PN=WebApp&LANG=zh_CN&VN_CODE=4&VN=0.1.0&LOC=CN&PLT=PC&DS=Android&UID=1c6b57c4-54d9-47ab-bf42-511ffc7e09c3&DT=PC

这下面为第二个网址的参数

app_id: 192976
from: 20
limit: 10
mainRequest: true
X-UA: V=1&PN=WebApp&LANG=zh_CN&VN_CODE=4&VN=0.1.0&LOC=CN&PLT=PC&DS=Android&UID=1c6b57c4-54d9-47ab-bf42-511ffc7e09c3&DT=PC

观察发现这些参数中只有一个参数是在变化的,就是" from "这个参数,没次增加10。
最终就有了具体思路
开始写代码

    for i in range(1,200):
        a=i*10
        url=f"https://www.taptap.com/webapiv2/review/v2/by-app?app_id=192976&from={a}&limit=10&mainRequest=true&X-UA=V%3D1%26PN%3DWebApp%26LANG%3Dzh_CN%26VN_CODE%3D4%26VN%3D0.1.0%26LOC%3DCN%26PLT%3DPC%26DS%3DAndroid%26UID%3D1c6b57c4-54d9-47ab-bf42-511ffc7e09c3%26DT%3DPC"
        a=1
        resp=requests.get(url).json()

发现都是可以得到,最终就是解析数据最后存储

最终全部代码如下

import requests
import time
import xlwt
def main() :         #主函数
    for i in range(1,200):
        a=i*10
        url=f"https://www.taptap.com/webapiv2/review/v2/by-app?app_id=192976&from={a}&limit=10&mainRequest=true&X-UA=V%3D1%26PN%3DWebApp%26LANG%3Dzh_CN%26VN_CODE%3D4%26VN%3D0.1.0%26LOC%3DCN%26PLT%3DPC%26DS%3DAndroid%26UID%3D1c6b57c4-54d9-47ab-bf42-511ffc7e09c3%26DT%3DPC"
        a=1
        fun(url,i)
lis=[]            #存储数据
def fun(url,i) :          #请求网页
    print(i)
    resp=requests.get(url).json()
    time.sleep(2)
    fun1(resp)
    #print(resp["data"]["list"])
def fun1(resp) :          #解析数据
    #print(resp)
    for i in resp["data"]["list"]:
        lis1=[]       #存储单条数据
        lis1.append(i["moment"]["author"]["user"]["name"])           #获取名字
        lis1.append(i["moment"]["author"]["user"]["id"])
        lis1.append(i["moment"]["extended_entities"]["reviews"][0]["device"])    #获取手机型号
        lis1.append(i["moment"]["author"]["user"]["avatar"])          #头像链接
        lis1.append(i["moment"]["extended_entities"]["reviews"][0]["contents"]["text"])    #获取评论
        print(lis1)
        lis.append(lis1)
        #fun2(lis)
def fun2(lis) :          #保存数据
    print("开始存储!")
    book = xlwt.Workbook(encoding="utf-8", style_compression=0)  # 创建"workbook"对象
    sheet = book.add_sheet("游戏数据", cell_overwrite_ok=True)  # 创建工作表
    col = ["用户网名","用户ID", "用户手机型号", "头像链接", "评论"]
    for i in range(0, 4):
        sheet.write(0, i, col[i])  # 列名
    for i in range(1, len(lis)):
        print('已经存储', i - 1, '行数据')
        for j in range(0, len(lis[i])):
            sheet.write(i, j, lis[i - 1][j])
            book.save("游戏数据2.xls")
if __name__ == '__main__':
    main()
    fun2(lis)

最终得到全部数据:
部分数据如下图
在这里插入图片描述
感谢观看!

包括APP爬虫、数据清洗、pyecharts可视化、pytorch框架下LSTM模型情感分析 爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫通常由搜索引擎、数据挖掘工具、监测系统等应用于网络数据抓取的场景。 爬虫的工作流程包括以下几个关键步骤: URL收集: 爬虫从一个或多个初始URL开始,递归或迭代地发现新的URL,构建一个URL队列。这些URL可以通过链接分析、站点地图、搜索引擎等方式获取。 请求网页: 爬虫使用HTTP或其他协议向目标URL发起请求,获取网页的HTML内容。这通常通过HTTP请求库实现,如Python中的Requests库。 解析内容: 爬虫对获取的HTML进行解析,提取有用的信息。常用的解析工具有正则表达式、XPath、Beautiful Soup等。这些工具帮助爬虫定位和提取目标数据,如文本、图片、链接等。 数据存储: 爬虫将提取的数据存储到数据库、文件或其他存储介质中,以备后续分析或展示。常用的存储形式包括关系型数据库、NoSQL数据库、JSON文件等。 遵守规则: 为避免对网站造成过大负担或触发反爬虫机制,爬虫需要遵守网站的robots.txt协议,限制访问频率和深度,并模拟人类访问行为,如设置User-Agent。 反爬虫应对: 由于爬虫的存在,一些网站采取了反爬虫措施,如验证码、IP封锁等。爬虫工程师需要设计相应的策略来应对这些挑战。 爬虫在各个领域都有广泛的应用,包括搜索引擎索引、数据挖掘、价格监测、新闻聚合等。然而,使用爬虫需要遵守法律和伦理规范,尊重网站的使用政策,并确保对被访问网站的服务器负责。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值