首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用BS4抓取购物评论和评分

用BS4抓取购物评论和评分
EN

Stack Overflow用户
提问于 2021-04-25 18:50:50
回答 1查看 164关注 0票数 0

我是一名商科学生,我想对Shopee的顾客行为进行研究。我想创建一个包含评论和评分的数据集。我只是在这里找到了这段代码,但它显示的是列表,而不是我期望的表。有没有人可以帮我在csv文件中创建一个数据集?非常感谢你的帮助!

代码语言:javascript
复制
import re
import json
import requests


url = 'https://shopee.vn/-Mã-FASHIONT4MA2-giảm-10K-đơn-50K-Áo-thun-nam-nữ-form-rộng-Yinxx-áo-phông-tay-lỡ-ATL43-i.14746382.6519318270'

r = re.search(r'i\.(\d+)\.(\d+)', url)
shop_id, item_id = r[1], r[2]
ratings_url = 'https://shopee.vn/api/v2/item/get_ratings?filter=0&flag=1&itemid={item_id}&limit=20&offset={offset}&shopid={shop_id}&type=0'

offset = 0
while True:

data = requests.get(ratings_url.format(shop_id=shop_id, item_id=item_id, offset=offset)).json()

# uncomment this to print all data:
#print(json.dumps(data, indent=4))
#leng enumerate tra ket qua duoi dang liet ke
i = 1
for i, rating in enumerate(data['data']['ratings'], 1):
    print(rating['author_username'])
    print(rating['rating_star'])
    print(rating['comment'])
    print('-' * 100)

if i % 20:
    break

offset += 20

“”“

EN

回答 1

Stack Overflow用户

发布于 2021-04-25 19:01:01

要创建pandas数据帧并将其保存到csv文件,您可以使用以下示例:

代码语言:javascript
复制
import re
import json
import requests
import pandas as pd


url = "https://shopee.vn/-Mã-FASHIONT4MA2-giảm-10K-đơn-50K-Áo-thun-nam-nữ-form-rộng-Yinxx-áo-phông-tay-lỡ-ATL43-i.14746382.6519318270"

r = re.search(r"i\.(\d+)\.(\d+)", url)
shop_id, item_id = r[1], r[2]
ratings_url = "https://shopee.vn/api/v2/item/get_ratings?filter=0&flag=1&itemid={item_id}&limit=20&offset={offset}&shopid={shop_id}&type=0"

offset = 0
d = {"username": [], "rating": [], "comment": []}
while True:
    data = requests.get(
        ratings_url.format(shop_id=shop_id, item_id=item_id, offset=offset)
    ).json()

    # uncomment this to print all data:
    # print(json.dumps(data, indent=4))
    # leng enumerate tra ket qua duoi dang liet ke
    i = 1
    for i, rating in enumerate(data["data"]["ratings"], 1):
        d["username"].append(rating["author_username"])
        d["rating"].append(rating["rating_star"])
        d["comment"].append(rating["comment"])

        print(rating["author_username"])
        print(rating["rating_star"])
        print(rating["comment"])
        print("-" * 100)

    if i % 20:
        break

    offset += 20
   

df = pd.DataFrame(d)
print(df)
df.to_csv("data.csv", index=False)

打印:

代码语言:javascript
复制
                         username  rating                                            comment
0                   lthn_29122002       5  sản phẩm tuyệt vời\ngiao hàng nhanh\nđóng gói ...
1                    chanchan1754       5  Giao trễ hơn dự kiến 1 ngày nhưng vì áo quá xi...
2                   trangtrinhh16       5  mua của shop mấy đơn rồi, lần nào cũng mua 4-5...
3                   vanchi1001001       5  Áo hình đẹp, rộng rãi. To nhưng mặc ko bị béo,...
4                  nguyentangthuy       5  Tui đặt 2 cái áo ? tui cao 1m68 nặng 50kg á , ...
5                       ngan34538       5  Ảnh minh họa thôi nhưng áo của shop đẹp lắm fo...
6                  thuhuyen100401       5  Đọc rv trên tiktok các bạn khen chất oke nhưg ...
7                      kimloan2_4       5  Mình sẽ tiếp tục ủng hộ shop vải với áo khá ok...
8                         g*****9       5  Chất lượng sản phẩm tuyệt vời. Đóng gói sản ph...
9                         beooobb       5  Áo đẹp xỉuuuuuuu á chờiii, vải dàyyy hơi nóng ...
10                     ngocmai_26       5  Sản phẩm đúng yêu cầu\nGiao hàng nhanhhhh\nĐón...
11                        n*****u       5  Chất bt mỏng tiền nào của đấy okkkkkkkkkkkkkkk...
12                          ahnpl       5  Vải mặc mát áo rộng thoải mái chất quá là okii...
13                        n*****8       5  Với giá như thế này thì mình đánh giá là oke. ...
14                        d*****0       5  chất áo khá ổn giao cũng khá nhanh nchung là o...
15                        t*****8       5  Áo đẹp nhưng vải hơi dày và nóng, với giá thù ...
16                        h*****2       5  Đã nhận được hàng\nCó gặp vài sự cố giao hàng,...
17                        t*****2       5  form áo ok tay lỡ mình m55 trùm qua mông thoải...
18               nguyenthinam2302       5  Uy con mẹ tín, mua cho ng yêuu, ng yêu mặc vào...
19                       thltdh54       5  Áo xinh lắm hihiu \nShop đóng gói cẩn thận ...
20                      t.quin907       5  Áo dày dặn, form rộng đẹp, nói chung với giá n...
21                       tu_chinh       5  Áo mặc thích, rộng, thoải mái, vải ok, phù hợp...
22                        l*****k       5   Đẹp mua lần 2 rồi và sẽ tiếp tục ủng hộ ?????...
23                 nhatquynh_2208       5  Sản phẩm rất tốt, hình ảnh chỉ mang tính chất ...
24                 luongthuhang12       5  Jdlsksncjeoakcbfkalskcndoapdjcndloajxndkdpspsi...
25                        l*****0       5  Sản phẩm ổn, vải dày, chắc là nóng nhưng so vớ...
26                        v*****h       5  Áo đẹp nha, hình in đẹp, kbt có bền ko nhưng g...
27                        v*****n       5  Lần sau sẽ ủng hộ tiếp .....dbsisgsbajkausfsbh...
28                        h*****2       5  Vải áo trắng dày hơn áo đen, chỉ dư nhiều, đườ...
29                        v*****y       5  Giao hàng nhanh, chuẩn bị hàng tầm 2 3 ngày, á...
30                        t*****1       5       Bâhhhwhhshshjhshdjdjjdjdjdjdhdhdhdhdhdhdhdhd
31                        g*****5       5  From áo ok, chất vải bình thường tương xứng vớ...
32                        d*****t       5  Jjfjndbxjjxhduijdbdjxnxhxkxnxjjdnjdjdndnmcmxnx...
33                        h*****n       5  Áo xinh lắm nhooooo, mình 55kg 1m61 mặc rộng v...
34               nguyenhuyenchibi       5  Gói hàng đẹp . Vận chuyển nhanh . Áo rất đẹp s...

...

并保存data.csv (来自LibreOffice的截图):

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67252542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档