爬虫入门-爬取华为应用商店app的评论

直接上代码
import csv
import random
import requests

#appid可以替换成你要爬取的app的appid
url='https://web-drcn.hispace.dbankcloud.com/edge/uowap/index?method=internal.user.commenList3&serviceType=20&reqPageNum=%s&maxResults=25&appid=C10219077&version=10.0.0&zone=&locale=zh'


def get_agent():
    agents= ['Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0;',
    'Mozilla/5.0 (Macintosh; Intel Mac os x 10.6; rv,2.0.1) Gecko/20100101 Firefox/4.0.1',
    'Opera/9.80 (Macintosh; Intel Mac os x 10.6.8; U; en) Presto/2.8.131 Version/11.11',
    'Mozilla/5.0(Macintosh; Intel Mac OS X 10_7_0) AppleWebKit/535.11(KHTML,like Gecko)Chrome/17.0.963.56Safari/535.11',
    'Mozilla/4.0 (compatible; MsIE 7.0; Windows NT 5.1; 360SE)']
    fakeheader = {}
    a=random.randint(0,len (agents)-1)
    fakeheader['user-agent'] = agents[a]
    return fakeheader


csv_file = '../csv/华为应用商店评论.csv'
for i in range(5,10):
    with open(csv_file, mode='a', newline='', encoding='utf-8') as file:
        writer = csv.writer(file)
        response = requests.get(url%i,timeout=30,headers=get_agent())
        # 检查请求是否成功
        if response.status_code == 200:
            # 解析HTML内容
            comment_list=response.json()["list"]
            if comment_list ==[]:
                break
            for comment in comment_list:
                aa=comment["commentInfo"]
                #爬取到的评论写入csv文件
                writer.writerow(["智能证件照",aa])
        else:
            break
### 使用Python实现爬取华为应用市场App评价数据 为了成功抓取华为应用市场的应用程序评论,可以采用`requests`库发送HTTP请求并获取网页内容。由于现代Web页面通常通过JavaScript动态加载内容,因此可能还需要借助像`selenium`这样的工具来处理复杂的交互逻辑[^2]。 #### 准备工作 确保已安装必要的软件包: ```bash pip install requests selenium pandas ``` 对于某些特定情况下,如果目标网站依赖于JavaScript渲染,则推荐使用带有浏览器驱动的支持JavaScript执行环境的自动化测试工具——Selenium WebDriver。这允许模拟真实用户的浏览行为,从而绕过反爬机制的一部分检测措施[^4]。 #### 编写基本爬虫代码 下面是一个简单的例子展示如何利用`requests`库访问API接口(假设存在公开可访问的应用详情页或评论区URL),以及怎样解析返回的数据结构: ```python import json import time from urllib.parse import urljoin import requests def fetch_reviews(app_id, base_url="https://appgallery.cloud.huawei.com"): headers = { 'User-Agent': ('Mozilla/5.0 (Windows NT 10.0; Win64; x64)' 'AppleWebKit/537.36 (KHTML, like Gecko)' 'Chrome/91.0.4472.124 Safari/537.36') } review_endpoint = "/marketApi/reviews" params = {"appId": app_id} reviews_data = [] while True: response = requests.get( url=urljoin(base_url, review_endpoint), headers=headers, params=params ) try: data = response.json() if not isinstance(data['data'], list) or len(data['data']) == 0: break reviews_data.extend(data['data']) next_page_token = data.get('nextPageToken') if not next_page_token: break params["pageToken"] = next_page_token time.sleep(1) # 延迟防止触发频率限制 except Exception as e: print(f"Error occurred: {e}") break return reviews_data ``` 请注意,在实际操作前应当仔细阅读服务条款,并确认是否有合法权限来进行此类活动;此外还需关注API的变化情况及时调整参数设置以适应新的版本更新需求[^1]。 #### 数据存储与分析 收集到的信息可以通过Pandas DataFrame进行整理保存至CSV文件或其他数据库系统中以便后续统计分析: ```python import pandas as pd reviews_df = pd.DataFrame(reviews_data) reviews_df.to_csv("huawei_app_reviews.csv", index=False, encoding='utf_8_sig') ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值