人间四月395 2023-10-08 14:05 采纳率: 75%
浏览 17
已结题

Python爬虫爬取微信小说

https://weread.qq.com/web/category/100000
https://weread.qq.com/web/category/200000
Python爬虫爬取微信小说的指定字段,书名、作者、阅读人数、评价、简介,爬取10万条数据。求解

  • 写回答

3条回答 默认 最新

  • 7*24 工作者 2023-10-08 14:53
    关注

    简单的python示例代码就是

    import requests
    from time import sleep
    data = {}
    
    url = 'https://weread.qq.com/web/bookListInCategory/100000?maxIndex={}'
    headers = {
        "Accept":"application/json, text/plain, */*",
        "authority":"weread.qq.com",
        "Referer":"https://weread.qq.com/web/category/200000",
        "Sec-Ch-Ua":'"Google Chrome";v="117", "Not;A=Brand";v="8", "Chromium";v="117"',
        "Sec-Ch-Ua-Platform":'"Windows"',
        "Sec-Fetch-Dest":"empty",
        "Sec-Fetch-Mode":"cors",
        "Sec-Fetch-Site":"same-origin",
        "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36"
    }
    
    
    for i in range(0,201,20):
        # 因为url是动态变化请求,根据滚轮位置
        result = requests.get(url.format(str(i)),headers=headers).json()['books']
        sleep(2)   #主要是防止IP被封掉,时间还可以延长一些
        # 书名、作者、阅读人数、评价、简介
        for item in result:
            info = item.get('bookInfo')
            title = info.get('title','')
            author = info.get('author','')
            readingCount = item.get('readingCount',0)  #阅读人数
            newRating = info.get('newRating',0)   #推荐值,评价还需要进入到详情页里面去,暂时没有做
            intro = info.get('intro','')   #简介
            if title in data.keys():
                continue
            else:
                data[title] = {
                    '书名':title,
                    '作者':author,
                    '阅读人数': readingCount,
                    '推荐值':newRating,
                    '简介':intro.strip()
                }
    
    
    print(data)
    
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 11月30日
  • 已采纳回答 11月22日
  • 创建了问题 10月8日

悬赏问题

  • ¥15 三极管电路求解,已知电阻电压和三级关放大倍数
  • ¥15 ADS时域 连续相位观察方法
  • ¥15 Opencv配置出错
  • ¥15 模电中二极管,三极管和电容的应用
  • ¥15 关于模型导入UNITY的.FBX: Check external application preferences.警告。
  • ¥15 气象网格数据与卫星轨道数据如何匹配
  • ¥100 java ee ssm项目 悬赏,感兴趣直接联系我
  • ¥15 微软账户问题不小心注销了好像
  • ¥15 x264库中预测模式字IPM、运动向量差MVD、量化后的DCT系数的位置
  • ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused