轻松获取微信文章:8招教你用QueryList成功抓取!
优采云 发布时间: 2023-04-06 02:09QueryList 是一款基于 Python 的网络爬虫框架,可以用于抓取各种网站的数据。其中,QueryList 抓取微信文章是一个非常常见的应用场景。本文将从以下八个方面详细介绍 QueryList 抓取微信文章的方法及注意事项。
一、安装 QueryList
在开始使用 QueryList 前,需要先安装它。可以通过 pip 指令进行安装:
python
pip install PyQuery
pip install requests
pip install cssselect
pip install lxml
二、获取微信公众号的 cookie 和 token
为了抓取微信公众号的文章,需要先获取 cookie 和 token。具体方法如下:
-打开 PC 端微信公众平台;
-登录账号后,在浏览器中按 F12 进入开发者模式;
-点击 Network 选项卡,在筛选条件中选择 XHR;
-随便点击一个公众号进去,在右侧 Headers 中找到 Cookie 和 token 分别对应的值。
三、构建请求头和请求参数
构建请求头和请求参数是使用 QueryList 抓取微信文章的关键步骤之一。具体方法如下:
python
from urllib.parse import quote
#构建请求头
headers ={
'Cookie':'填入获取到的 cookie',
'User-Agent':'Mozilla/5.0(Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3',
'Host':'mp.weixin.qq.com'
}
#构建请求参数
params ={
'action':'getmsg',
'__biz':'填入公众号的 biz',
'f':'json',
'offset':'0',
'count':'10',
'is_ok':'1',
'scene':'124',
'uin':'填入 token 的值',
'key':'填入 token 的值',
'pass_ticket':'',
'wxtoken':'',
'appmsg_token':''
}
四、构建 URL
构建2e9b5865537db47267991419e97f0ae9是使用 QueryList 抓取微信文章的另一个重要步骤。具体方法如下:
python
from urllib.parse import urlencode
#构建 URL
url ="https://mp.weixin.qq.com/mp/profile_ext?"+ urlencode(params)
五、解析返回结果
使用 QueryList 抓取微信文章后,需要对返回结果进行解析。具体方法如下:
python
import json
#发送请求
response = requests.get(url, headers=headers)
#解析返回结果
data = json.loads(response.text)
if data['ret']==0:
articles = data['general_msg_list']
六、提取文章信息
从返回结果中提取文章信息是使用 QueryList 抓取微信文章的核心步骤之一。具体方法如下:
python
from pyquery import PyQuery as pq
#提取文章信息
doc = pq(articles)
items = doc('li').items()
for item in items:
article ={
'title': item.find('.js_name').text(),
'url': item.find('.js_name').attr('href'),
'time': item.find('.js_date').text(),
'read_num': item.find('.js_read').text(),
'like_num': item.find('.js_like').text()
}
七、存储文章信息
存储文章信息可以使用数据库或者文件系统。具体方法如下:
python
import csv
#存储文章信息到 CSV 文件中
with open('articles.csv','w', newline='', encoding='utf-8') as csvfile:
fieldnames =['title','url','time','read_num','like_num']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for article in articles:
writer.writerow(article)
八、总结
本文介绍了使用 QueryList 抓取微信文章的方法及注意事项,包括安装 QueryList、获取微信公众号的 cookie 和 token、构建请求头和请求参数、构建 URL、解析返回结果、提取文章信息和存储文章信息等。希望对大家在进行微信公众号数据分析等方面有所帮助。