lyh940525 2024-10-14 13:50 采纳率: 0%
浏览 8

爬取微信公众号文章报错

博主你好,上述是我的代码。我的报错也是
{'base_resp': {'ret': 200009, 'err_msg': 'not found'}}
但是我登录了微信公众平台,也登录了微信号,为什么还是会这样报错

下面是我的代码


# 目标url
url = "https://mp.weixin.qq.com/cgi-bin/appmsgpublish?sub=list&search_field=null&begin=5&count=5&query=&fakeid=MzkyNjY5MDM2Mg%3D%3D&type=101_1&free_publish_type=1&sub_action=list_ex&token=1401999027&lang=zh_CN&f=json&ajax=1"
cookie = "ptcz=c204923a96cb7d73f199a4ac5d51c10ca49f4c0c8ce24a061ebccb849ce1f9ff; RK=u0100X9oF8; ua_id=kQkeRM7HYl3BpLEwAAAAAGtzKjqjwYYDG9yHMRWXCaI=; wxuin=15335523140029; mm_lang=zh_CN; _qimei_uuid42=1861d122a14100a703d287783c41e71ac5931a0e50; pac_uid=0_nCk8CcJrhwX74; _qimei_fingerprint=e5e93c94b608c2a0d9948aaea3c9aaaa; _qimei_h38=2db82b2503d287783c41e71a0200000f51861d; qq_domain_video_guid_verify=b462a15028b81e9c; pgv_pvid=8510840041; eas_sid=q1E7h2M2v5E8x9V5Y5D85521m9; suid=user_0_nCk8CcJrhwX74; _qimei_q32=be8f3eb5e389127b54b0e76abbb0a5eb; _qimei_q36=fc479e101500d42890624600300015217a18; current-city-name=bj; rewardsn=; wxtokenkey=777; _clck=3879656495|1|fq0|0; uuid=ff512465a15317225d3ec1341af873f8; rand_info=CAESILIR+eqHp+dHIjbDYRzoTiVAKDXjuaYyT8cWkxa6smqp; slave_bizuin=3879656495; data_bizuin=3879656495; bizuin=3879656495; data_ticket=Y5m+cccw6LkYmeYyhawk9zjcO/JdHSbQcD72HaH6r/2/ugZsQ/FRK2IoW7VBV8hE; slave_sid=dEtINzc1cGZmakJVQ0RPVGdkQ0d2eHlxcmpiTDdHeXozdnFYNWRRU25lYVJ5WmhqSGVmOGhHQzN6NmdlTWNzell2WnVlNXhHbnFBUmFzZHRUM09QeGRIR2sxMk5xdXBOSVVCWVFWWXd3Z2lvaVdESFRFbElaSm9UdUJmNmdpNFd1VEdVRUNJaGdNbHlOQldN; slave_user=gh_99a98116e75f; xid=862b19034e3ac5504b8f7aa7fc299ac2; _clsk=12hetcm|1728911705074|5|1|mp.weixin.qq.com/weheat-agent/payload/record"

headers = {
    "Cookie": cookie,
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36 Edg/129.0.0.0",
}

data = {
    "token": "1401999027",
    "lang": "zh_CN",
    "f": "json",
    "ajax": "1",
    "action": "list_ex",
    "begin": "5",
    "count": "5",
    "query": "",
    "fakeid": "MzkyNjY5MDM2Mg%3D%3D", # 自己的号,设置为空
    "type": "101_1",
}

import requests
import json
content_json = requests.get(url, headers=headers, params=data).json()
response = requests.get(url, headers=headers, params=data)
content_json = response.json()
print(content_json)

def get_total_count():
    content_json = requests.get(url, headers=headers, params=data).json()
    count = int(content_json["app_msg_cnt"])
    return count

展开全部

  • 写回答

1条回答 默认 最新

  • 关注

    晚上好🌙🌙🌙
    本答案参考ChatGPT-3.5

    你的代码已经存在了一些问题,你可以尝试以下几点来修复:

    问题一:请求头的问题。错误信息中提到 "baseResp: {'ret': 200009, 'err_msg': 'not found'}" 是因为缺少 "Authorization" 的请求头。可以将以下行添加到 headers 参数中:

    headers = {
        "Cookie": cookie,
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36 Edg/129.0.0.0",
        "Authorization": "Bearer your_token_here"
    }
    

    问题二:JSON解析的问题。在获取到 JSON 格式的数据后,需要将其转换为 Python 内置的数据结构(如 list 或 dict)。你可以在获取 JSON 数据之后对它进行相应的处理。

    代码示例:

    def parse_content_json(json_data):
        result = []
        for key, value in json_data.items():
            if isinstance(value, str):
                result.append({"key": key, "value": value})
            elif isinstance(value, list):
                result.extend(parse_content_json(value))
            else:
                result.append({"key": key, "value": value})
        return result
    
    def total_count(json_data):
        return len(parse_content_json(json_data))
    
    json_data = {"token": "1401999027", "lang": "zh_CN", "f": "json", "ajax": "1", "action": "list_ex", "begin": "5", "count": "5", "query": "", "fakeid": "MzkyNjY5MDM2Mg%3D%3D", "type": "101_1"}
    print(total_count(json_data))  # 输出:5
    

    问题三:使用正则表达式匹配的问题。如果查询字符串中有特殊的字符,你需要使用正则表达式来捕获这些字符,并替换为特定的值。

    如果你确定查询字符串中的特殊字符是空格或者逗号,你可以直接将它们替换成这些字符。例如:

    result = [{"key": key, "value": " ".join(value)} for key, value in json_data.items()]
    total_count(result)
    

    希望这些建议对你有所帮助!

    展开全部

    评论
    编辑
    预览

    报告相同问题?

    手机看
    程序员都在用的中文IT技术交流社区

    程序员都在用的中文IT技术交流社区

    专业的中文 IT 技术社区,与千万技术人共成长

    专业的中文 IT 技术社区,与千万技术人共成长

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    客服 返回
    顶部