轻松获取微信文章:8招教你用QueryList成功抓取!

优采云 发布时间: 2023-04-06 02:09

  QueryList 是一款基于 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、解析返回结果、提取文章信息和存储文章信息等。希望对大家在进行微信公众号数据分析等方面有所帮助。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线