电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Python 微信公眾號文章爬取的示例代碼

瀏覽:8日期:2022-07-03 17:50:29

一.思路

我們通過網頁版的微信公眾平臺的圖文消息中的超鏈接獲取到我們需要的接口

Python 微信公眾號文章爬取的示例代碼

Python 微信公眾號文章爬取的示例代碼

從接口中我們可以得到對應的微信公眾號和對應的所有微信公眾號文章。

二.接口分析

獲取微信公眾號的接口:https://mp.weixin.qq.com/cgi-bin/searchbiz?參數:action=search_bizbegin=0count=5query=公眾號名稱token=每個賬號對應的token值lang=zh_CNf=jsonajax=1請求方式:GET所以這個接口中我們只需要得到token即可,而query則是你需要搜索的公眾號,token則可以通過登錄后的網頁鏈接獲取得到。

Python 微信公眾號文章爬取的示例代碼

獲取對應公眾號的文章的接口:https://mp.weixin.qq.com/cgi-bin/appmsg?參數:action=list_exbegin=0count=5fakeid=MjM5NDAwMTA2MA==type=9query=token=557131216lang=zh_CNf=jsonajax=1請求方式:GET在這個接口中我們需要獲取的值有上一步的token以及fakeid,而這個fakeid則在第一個接口中可以獲取得到。從而我們就可以拿到微信公眾號文章的數據了。

Python 微信公眾號文章爬取的示例代碼

三.實現

第一步:

首先我們需要通過selenium模擬登錄,然后獲取到cookie和對應的token

def weChat_login(user, password): post = {} browser = webdriver.Chrome() browser.get(’https://mp.weixin.qq.com/’) sleep(3) browser.delete_all_cookies() sleep(2) # 點擊切換到賬號密碼輸入 browser.find_element_by_xpath('//a[@class=’login__type__container__select-type’]').click() sleep(2) # 模擬用戶點擊 input_user = browser.find_element_by_xpath('//input[@name=’account’]') input_user.send_keys(user) input_password = browser.find_element_by_xpath('//input[@name=’password’]') input_password.send_keys(password) sleep(2) # 點擊登錄 browser.find_element_by_xpath('//a[@class=’btn_login’]').click() sleep(2) # 微信登錄驗證 print(’請掃描二維碼’) sleep(20) # 刷新當前網頁 browser.get(’https://mp.weixin.qq.com/’) sleep(5) # 獲取當前網頁鏈接 url = browser.current_url # 獲取當前cookie cookies = browser.get_cookies() for item in cookies: post[item[’name’]] = item[’value’] # 轉換為字符串 cookie_str = json.dumps(post) # 存儲到本地 with open(’cookie.txt’, ’w+’, encoding=’utf-8’) as f: f.write(cookie_str) print(’cookie保存到本地成功’) # 對當前網頁鏈接進行切片,獲取到token paramList = url.strip().split(’?’)[1].split(’&’) # 定義一個字典存儲數據 paramdict = {} for item in paramList: paramdict[item.split(’=’)[0]] = item.split(’=’)[1] # 返回token return paramdict[’token’]

定義了一個登錄方法,里面的參數為登錄的賬號和密碼,然后定義了一個字典用來存儲cookie的值。通過模擬用戶輸入對應的賬號密碼并且點擊登錄,然后會出現一個掃碼驗證,用登錄的微信去掃碼即可。刷新當前網頁后,獲取當前cookie以及token然后返回。

第二步:

1.請求獲取對應公眾號接口,取到我們需要的fakeid

url = ’https://mp.weixin.qq.com’ headers = { ’HOST’: ’mp.weixin.qq.com’, ’User-Agent’: ’Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Safari/537.36 Edg/86.0.622.63’ } with open(’cookie.txt’, ’r’, encoding=’utf-8’) as f: cookie = f.read() cookies = json.loads(cookie) resp = requests.get(url=url, headers=headers, cookies=cookies) search_url = ’https://mp.weixin.qq.com/cgi-bin/searchbiz?’ params = { ’action’: ’search_biz’, ’begin’: ’0’, ’count’: ’5’, ’query’: ’搜索的公眾號名稱’, ’token’: token, ’lang’: ’zh_CN’, ’f’: ’json’, ’ajax’: ’1’ } search_resp = requests.get(url=search_url, cookies=cookies, headers=headers, params=params)

將我們獲取到的token和cookie傳進來,然后通過requests.get請求,獲得返回的微信公眾號的json數據

lists = search_resp.json().get(’list’)[0]

通過上面的代碼即可獲取到對應的公眾號數據

fakeid = lists.get(’fakeid’)

通過上面的代碼就可以得到對應的fakeid

2.請求獲取微信公眾號文章接口,取到我們需要的文章數據

appmsg_url = ’https://mp.weixin.qq.com/cgi-bin/appmsg?’ params_data = { ’action’: ’list_ex’, ’begin’: ’0’, ’count’: ’5’, ’fakeid’: fakeid, ’type’: ’9’, ’query’: ’’, ’token’: token, ’lang’: ’zh_CN’, ’f’: ’json’, ’ajax’: ’1’ } appmsg_resp = requests.get(url=appmsg_url, cookies=cookies, headers=headers, params=params_data)

我們傳入fakeid和token然后還是調用requests.get請求接口,獲得返回的json數據。我們就實現了對微信公眾號文章的爬取。

四.總結

通過對微信公眾號文章的爬取,需要掌握selenium和requests的用法,以及如何獲取到請求接口。但是需要注意的是當我們循環獲取文章時,一定要設置延遲時間,不然賬號很容易被封禁,從而得不到返回的數據。

到此這篇關于Python 微信公眾號文章爬取的示例代碼的文章就介紹到這了,更多相關Python 微信公眾號文章爬取內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: 微信 Python
相關文章:
主站蜘蛛池模板: 汝成内控-行政事业单位内部控制管理服务商 | HYDAC过滤器,HYDAC滤芯,现货ATOS油泵,ATOS比例阀-东莞市广联自动化科技有限公司 | 模型公司_模型制作_沙盘模型报价-中国模型网 | 橡胶弹簧|复合弹簧|橡胶球|振动筛配件-新乡市永鑫橡胶厂 | 合肥白癜风医院_合肥治疗白癜风医院_合肥看白癜风医院哪家好_合肥华研白癜风医院 | 吲哚菁绿衍生物-酶底物法大肠菌群检测试剂-北京和信同通科技发展有限公司 | 液压中心架,数控中心架,自定心中心架-烟台恒阳机电设计有限公司 行星搅拌机,双行星搅拌机,动力混合机,无锡米克斯行星搅拌机生产厂家 | 液压扳手-高品质液压扳手供应商 - 液压扳手, 液压扳手供应商, 德国进口液压拉马 | 培训中心-翰香原香酥板栗饼加盟店总部-正宗板栗酥饼技术 | 西宁装修_西宁装修公司-西宁业之峰装饰-青海业之峰墅级装饰设计公司【官网】 | 铝合金线槽_铝型材加工_空调挡水板厂家-江阴炜福金属制品有限公司 | 湖南档案密集架,智能,物证,移动,价格-湖南档案密集架厂家 | 糖衣机,除尘式糖衣机,全自动糖衣机,泰州市长江制药机械有限公司 体感VRAR全息沉浸式3D投影多媒体展厅展会游戏互动-万展互动 | 陕西高职单招-陕西高职分类考试网| 济南玻璃安装_济南玻璃门_济南感应门_济南玻璃隔断_济南玻璃门维修_济南镜片安装_济南肯德基门_济南高隔间-济南凯轩鹏宇玻璃有限公司 | 钢丝绳探伤仪-钢丝绳检测仪-钢丝绳探伤设备-洛阳泰斯特探伤技术有限公司 | nalgene洗瓶,nalgene量筒,nalgene窄口瓶,nalgene放水口大瓶,浙江省nalgene代理-杭州雷琪实验器材有限公司 | 干洗店加盟_洗衣店加盟_干洗店设备-伊蔻干洗「武汉总部」 | 品牌设计_VI设计_电影海报设计_包装设计_LOGO设计-Bacross新越品牌顾问 | 生态板-实木生态板-生态板厂家-源木原作生态板品牌-深圳市方舟木业有限公司 | 防腐木批发价格_深圳_惠州_东莞防腐木厂家_森源(深圳)防腐木有限公司 | 四川成都干燥设备_回转筒干燥机_脉冲除尘器_输送设备_热风炉_成都川工星科机电设备有限公司 | 粉末包装机-给袋式包装机-全自动包装机-颗粒-液体-食品-酱腌菜包装机生产线【润立机械】 | 都江堰招聘网-都江堰人才网 都江堰人事人才网 都江堰人才招聘网 邢台人才网_邢台招聘网_邢台123招聘【智达人才网】 | 沉降天平_沉降粒度仪_液体比重仪-上海方瑞仪器有限公司 | 动库网动库商城-体育用品专卖店:羽毛球,乒乓球拍,网球,户外装备,运动鞋,运动包,运动服饰专卖店-正品运动品网上商城动库商城网 - 动库商城 | 废旧物资回收公司_广州废旧设备回收_报废设备物资回收-益美工厂设备回收公司 | 别墅图纸超市|别墅设计图纸|农村房屋设计图|农村自建房|别墅设计图纸及效果图大全 | 派克防爆伺服电机品牌|国产防爆伺服电机|高低温伺服电机|杭州摩森机电科技有限公司 | 厌氧工作站-通用型厌氧工作站-上海胜秋科学仪器有限公司 | 电动不锈钢套筒阀-球面偏置气动钟阀-三通换向阀止回阀-永嘉鸿宇阀门有限公司 | 聚丙烯酰胺PAM-聚合氯化铝PAC-絮凝剂-河南博旭环保科技有限公司 巨野电机维修-水泵维修-巨野县飞宇机电维修有限公司 | 临沂招聘网_人才市场_招聘信息_求职招聘找工作请认准【马头商标】 | 安德建奇火花机-阿奇夏米尔慢走丝|高维|发那科-北京杰森柏汇 | 福建珂朗雅装饰材料有限公司「官方网站」 | 窖井盖锯圆机_锯圆机金刚石锯片-无锡茂达金刚石有限公司 | 定做大型恒温循环水浴槽-工业用不锈钢恒温水箱-大容量低温恒温水槽-常州精达仪器 | 液压油缸-液压站生产厂家-洛阳泰诺液压科技有限公司 | 代写标书-专业代做标书-商业计划书代写「深圳卓越创兴公司」 | 常州企业采购平台_常州MRO采购公司_常州米孚机电设备有限公司 | 浩方智通 - 防关联浏览器 - 跨境电商浏览器 - 云雀浏览器 |