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

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

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

瀏覽:5日期: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
相關文章:
主站蜘蛛池模板: 污水处理设备,一体化泵站,一体化净水设备-「梦之洁环保设备厂家」 | 编织人生 - 权威手工编织网站,编织爱好者学习毛衣编织的门户网站,织毛衣就上编织人生网-编织人生 | 钢结构厂房造价_钢结构厂房预算_轻钢结构厂房_山东三维钢结构公司 | 苏商学院官网 - 江苏地区唯一一家企业家自办的前瞻型、实操型商学院 | 硫酸亚铁-聚合硫酸铁-除氟除磷剂-复合碳源-污水处理药剂厂家—长隆科技 | 福州甲醛检测-福建室内空气检测_环境检测_水质检测-福建中凯检测技术有限公司 | 警用|治安|保安|不锈钢岗亭-售货亭价格-垃圾分类亭-移动厕所厂家-苏州灿宇建材 | 江西自考网-江西自学考试网 | 直流电能表-充电桩电能表-导轨式电能表-智能电能表-浙江科为电气有限公司 | 北京四合院出租,北京四合院出售,北京平房买卖 - 顺益兴四合院 | 标策网-专注公司商业知识服务、助力企业发展 | 硫酸亚铁-聚合硫酸铁-除氟除磷剂-复合碳源-污水处理药剂厂家—长隆科技 | 交变/复合盐雾试验箱-高低温冲击试验箱_安奈设备产品供应杭州/江苏南京/安徽马鞍山合肥等全国各地 | 合肥宠物店装修_合肥宠物美容院装修_合肥宠物医院设计装修公司-安徽盛世和居装饰 | 青岛侦探_青岛侦探事务所_青岛劝退小三_青岛调查出轨取证公司_青岛婚外情取证-青岛探真调查事务所 | 智能风向风速仪,风速告警仪,数字温湿仪,综合气象仪(气象五要素)-上海风云气象仪器有限公司 | 华禹护栏|锌钢护栏_阳台护栏_护栏厂家-华禹专注阳台护栏、楼梯栏杆、百叶窗、空调架、基坑护栏、道路护栏等锌钢护栏产品的生产销售。 | 哈尔滨发电机,黑龙江柴油发电机组-北方星光 | 防水试验机_防水测试设备_防水试验装置_淋雨试验箱-广州岳信试验设备有限公司 | 塑料撕碎机_编织袋撕碎机_废纸撕碎机_生活垃圾撕碎机_废铁破碎机_河南鑫世昌机械制造有限公司 | 岩棉切条机厂家_玻璃棉裁条机_水泥基保温板设备-廊坊鹏恒机械 | 拉力机-万能试验机-材料拉伸试验机-电子拉力机-拉力试验机厂家-冲击试验机-苏州皖仪实验仪器有限公司 | 陕西安玻璃自动感应门-自动重叠门-磁悬浮平开门厂家【捷申达门业】 | 上海赞永| 广州中央空调回收,二手中央空调回收,旧空调回收,制冷设备回收,冷气机组回收公司-广州益夫制冷设备回收公司 | 龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司_龙门加工中心-数控龙门加工中心厂家价格-山东海特数控机床有限公司 | 股指期货-期货开户-交易手续费佣金加1分-保证金低-期货公司排名靠前-万利信息开户 | U拓留学雅思一站式服务中心_留学申请_雅思托福培训 | 注浆压力变送器-高温熔体传感器-矿用压力传感器|ZHYQ朝辉 | TwistDx恒温扩增-RAA等温-Jackson抗体-默瑞(上海)生物科技有限公司 | 塑胶地板-商用PVC地板-pvc地板革-安耐宝pvc塑胶地板厂家 | 澳洁干洗店加盟-洗衣店干洗连锁「澳洁干洗免费一对一贴心服务」 干洗加盟网-洗衣店品牌排行-干洗设备价格-干洗连锁加盟指南 | 沈阳激光机-沈阳喷码机-沈阳光纤激光打标机-沈阳co2激光打标机 | 北京成考网-北京成人高考网 | 绿萝净除甲醛|深圳除甲醛公司|测甲醛怎么收费|培训机构|电影院|办公室|车内|室内除甲醛案例|原理|方法|价格立马咨询 | 温湿度记录纸_圆盘_横河记录纸|霍尼韦尔记录仪-广州汤米斯机电设备有限公司 | 天津力值检测-天津管道检测-天津天诚工程检测技术有限公司 | 众品家具网-家具品牌招商_家具代理加盟_家具门户的首选网络媒体。 | 生物除臭剂-除味剂-植物-污水除臭剂厂家-携葵环保有限公司 | 回转支承-转盘轴承-回转驱动生产厂家-洛阳隆达轴承有限公司 | 韦伯电梯有限公司 |