微信公众号上的一次爬虫

Python中的爬虫实战:微信公众号爬虫 如果你有兴趣使用Python爬虫来发掘更多有价值的信息,本例将是一个伟大的起点。在这个数字化时代,互联网上充满了大量的数据,爬虫已成为获取数据的重要手段,因此,python爬虫在数据分析和挖掘方面有着广泛的应用。微信公众号是一种流行的社交媒体平台,用于在线发布文章,是许多公司和自媒体推广和营销的重要工具。本例中,我将使用搜狗微信搜索提供的服务,它可以轻松地获取每个公众号在微信上的文章列表页面。首先我们需要找到这个公众号的名称或者ID,例如:“Python之禅”公众号的ID是“Zen-of-Python”。 阅读详情

前段时间,需要在微信上的一个公众号进行登陆、并进行公众号内的操作。这篇文章主要记录通过两种方式进行模拟登陆并操作该公众号,分别为selenium以及requests两种方式。


前期准备工作

1. 利用fiddler进行手机代理的设置

由于手机查看请求不方便,因此利用fiddler进行手机代理的设置,从而在电脑端的fiddler获取到手机所有对外发起的请求,具体设置步骤如下:
1>设置fiddler允许远程计算机连接:设置允许远程计算机连接.png
2>下载fiddler证书:下载证书.png
3>在手机端导入证书,步骤为:代理、导入、手动导入,然后设置IP、端口。此时即完成fiddler手机代理的设置。

2. burpsite手机代理的设置

由于fiddler只能截取到请求,但是不能对参数进行修改,因此使用burpsite进行请求的截取以及修改。其中burpsite手机代理的设置只需要设置允许远程计算机连接,并在手机端进行代理的相应IP、端口设置即可。

此时前期工作完成,以上两部是两种方式都需要进行设置的,其中两种代理各种好处,fiddler是为了更清楚地看清公众号操作的每一个请求,从而更好地进行模拟操作;burpsite是为了修改请求的参数,从而发现请求参数中,哪些参数是重要的,并且发现那些参数修改后就可修改了登陆公众号的用户信息(也就是新用户)。

selenium进行模拟登陆操作

1. chrome进行模拟手机网页的设置
chrome是可以设置为手机网页样式的,也就是模拟手机查看网页,具体设置只需要设置两处:
chrome手机端的设置.png
其中上面是设置模拟手机的型号,设置后,也就不用进行user-agent的设置了。
在selenium内设置为:

mobile_emulation = {"deviceName": "Pixel 2 XL",
                }
options = Options()
options.add_experimental_option("mobileEmulation", mobile_emulation)
# options.add_argument("--proxy-server=http://139.224.233.9:80")
driver = webdriver.Chrome(chrome_options=options)

2. chrome修改cookie插件的设置
chrome修改cookie的插件,我使用的是EditThisCookie,进行下载安装后,可直接对cookie进行修改。
Editthicookie.png
3. 进行cookie的设置
此次进行登陆公众号并进行操作,最重要的也就是cookie,通过burpsite发现,只需要修改请求内的一个参数也就可以成功切换用户,从而进行多次操作,其实也就是cookie的改变。
需要注意的是,cookie同名不同域也需要分别进行设置,slenium设置不同域的cookie的方为:

cookie1 = {'name': '.ASPXAUTH', 'domain': 'xxx','value': 'xxx',
       'httpOnly': False, 'secure': False, 'path': '/'}
cookie2 = {'name': 'JSESSIONID', 'value': 'xxx', 'domain': 'xxx',
       'httpOnly': False, 'secure': False, 'path': '/'}
driver.add_cookie(cookie1)
driver.add_cookie(cookie2)

此时逐步获取模拟点击的元素进行点击、填写的操作即可,同时循环修改cookie的关键参数,就完成了用户地切换,代码实例如下:

# wait = WebDriverWait(driver, 1)
in_activity = wait.until(
EC.presence_of_element_located((By.CSS_SELECTOR, "#enrollBtn > p"))
)
print('print(in_activity.text)' + in_activity.text)
in_activity.click()
unselect_activity = wait.until(
    EC.presence_of_element_located((By.CSS_SELECTOR,
        "#content > div.even-wrapper > li:nth-child(3) > div > div.img-holder > img")))
unselect_activity.click()

requests进行操作

相对于selenium,此种方法更快,但是编写代码需要更仔细,认真分析fiddler地每一次请求,最好每一次请求都进行模拟,避免缺漏某次请求的cookie设置或返还参数缺漏,导致程序的失败。
通过分析一次完成的操作,在fiddler内进行每一次get、post请求的,在编写代码时,将每次请求都使用requests进行请求,同时循环的将关键参数进行修改,从而完成对用户地切换。在分析地过程中,需要对一些参数进行分析,比如该用户是否已经进行了操作等。

在分析地过程中,关键是需要逐步进行,确认返回的参数是正确的、是成功切换了用户的。

由于需要修改cookie,因此使用到requests的session,此时就需要进行header的设置了(可能每次请求需要的header都不一样)。

程序完善

1. 保存可用用户
为了更快的进行操作,对可用用户、已进行操作的用户进行记录,利用mysql数据库进行记录,同时抽取未操作的用户也是在mysql内抽取。
2. 多线程进行操作
每个程序若单线程进行,就算开了多个程序也比较慢,同时占用内存。进行单程序的多线程设置,需要注意的是如何能避免不会同时抽取到统一用户,实现代码如下:
from multiprocessing.pool import Pool
# 获取所有可用的用户
list = get_id_all(0)[0:max_number]
pool = Pool()
# 将函数、可变的参数参入
pool.map(main,list)
3. 代理的设置
此次操作未进行设置,若公众号对IP访问有限制,可使用代理池进行代理的设置。

个人博客:Loak 正 - 关注人工智能及互联网的个人博客
文章地址:微信公众号上的一次爬虫

一次微信公众号爬虫 这里给大家分享一下最近做微信公众号文章爬虫的经历,其中肯定有许多不好的地方,希望大家斧正交流。 相信大家最近做微信公众号爬虫肯定遇到了很多的问题,其中最大的就是网上很多方法已经不能用了,比如搜狗微信网页端都不能用了,不得不感慨小龙大佬在这方面还是控制的很严的。毕竟现在数据这么值钱,哪能随便就被你爬了去。但是方法还是有的,下面是我这个程序的目录:注意你得先创建一个python的package,因为... 阅读详情

相关推荐

记一次企业级爬虫系统升级改造(四):爬取微信公众号文章(通过搜狗与新榜等第三方平台)

首先表示抱歉,年底大家都懂的,又涉及SupportYun系统V1.0上线。故而第四篇文章来的有点晚了些~~~对关注的朋友说声sorry! SupportYun系统当前一览:   首先说一下,文章的进度一直是延后于系统开发进度的。   当前系统V1.0 已经正式上线服役了,这就给大家欣赏几个主要界面~~      哈哈~这是系统主页,极简风格。主体框架使用的是 B-JUI ,偶然间看到的一

ooim802的博客 6763

Chrome爬虫插件

最近,有同学问我。 我不想写代码,如何快速爬取几个数据量不太大的网页? 这个需求,估计大家很多时候都会遇到,比如,你想爬取秒杀页面的商品信息进行对比;你想爬取国家统计局官网发布的你感兴趣的数据;等等。 既然说到这里,我就简单的介绍一下网络爬虫。网络爬虫的主要目的是爬取互联网上的网页。你可以把互联网中的每一个网页想象成一个点,那么整个互联网将是彼此连通的。是不是很像我们大学学过的图论?如果从任何一个...

爱钻研的小码农的博客 2171

网络爬虫的基本结构是什么?如何建立网络爬虫抓取数据?

摘要:互联网上有很多丰富的信息可以被抓取并转换成有价值的数据集,然后用于不同的行业。比如企业用户利用电商平台数据进行商业分析,学校的师生利用网络数据进行科研分析等等。那么,除了一些公司提供的一些官方公开数据集之外,我们应该在哪里获取数据呢? 作为数据分析的核心,网路爬虫从作为一个新兴技术到目前应用于众多行业,已经走了很长的道路。互联网上有很多丰富的信息可以被抓取并转换成有价值的数据集,然后...

网页爬虫与数据采集 · 八爪鱼 2732

程序媛的mac修炼手册-- Python微信公众号爬虫脚本

2024年微信公众号爬虫保姆级教程~

编程思维艺术 3958

python爬虫代码-python网络爬虫源代码(可直接抓取图片)

在开始制作爬虫前,我们应该做好前期准备工作,找到要爬的网站,然后查看它的源代码我们这次爬豆瓣美女网站,网址为:用到的工具:pycharm,这是它的图标...博文来自:zhang740000的博客Python新手写出漂亮的爬虫代码1初到大数据学习圈子的同学可能对爬虫都有所耳闻,会觉得是一个高大上的东西,仿佛九阳神功和乾坤大挪移一样,和别人说"老子会爬虫”,就感觉特别有逼格,但是又不知从何...

q6q6q的专栏 3662

网络爬虫技术Jsoup——爬到一切你想要的

概述:本周五,接到一个任务,要使用爬虫技术来获取某点评网站里面关于健身场馆的数据,之前从未接触过爬虫技术,于是就从网上搜了一点学习资料,本篇文章就记录爬虫技术Jsoup技术,爬虫技术听名称很牛叉,其实没什么难点,慢慢的用心学习就会了。

常灿光的博客 4万+

从微信公众号批量归档170个仿真案例:一次爬虫工程的完整复盘

170个请求听起来不多,但微信的风控是按频率和总量算的,1.5秒的间隔是被普遍认为比较保守的值。它的风控策略通常是被动式的——当你请求频率过高时,返回的HTML里不会直接报错,而是内容悄悄变成"环境异常"的验证页面,或者返回一个登录重定向。目录下,文件名是"案例名 + mid_idx.html"的组合,无论从人类阅读的角度还是从机器处理的角度,都是一份干净的资料集。,表面上是文件系统的问题,实际上是URL语义理解的问题——同一域名下的链接可能有完全不同的格式,不能假设所有链接都符合某一种模式。

T20151470的博客 210

网络爬虫与法律合规:规则、风险与案例分析

腾讯公司发现,上海某科技公司未经许可使用爬虫技术大量抓取腾讯新闻平台的商业、财经数据,并展示在其平台上,导致腾讯平台流量和广告收益受损。近年来,中国网络爬虫的滥用已成为法律关注的焦点,尤其在不正当竞争领域。:微博公司发现,某智联公司未经授权,使用技术手段爬取微博平台上的明星动态数据,并展示在其 App 中。:某信息服务公司未经许可使用爬虫抓取微信公众号文章,并在其平台使用,导致流量和广告收益损失。:法院认为,微博公司对其平台数据拥有合法权益,某智联公司行为构成不正当竞争。

AI Agent 首席体验官 2144

记一次企业级爬虫系统升级改造(四):爬取微信公众号文章(通过搜狗与新榜等第三方平台)...

首先表示抱歉,年底大家都懂的,又涉及SupportYun系统V1.0上线。故而第四篇文章来的有点晚了些~~~对关注的朋友说声sorry! SupportYun系统当前一览:   首先说一下,文章的进度一直是延后于系统开发进度的。   当前系统V1.0 已经正式上线服役了,这就给大家欣赏几个主要界面~~      哈哈~这是系统主页,极简风格。主体框架使用的是 B-JUI ,偶然间看到的一...

weixin_30472035的博客 589

微信公众号爬虫 (支持全自动化批量爬取微信公众号所有文章 Go语言实现)

注意 开源代码仅限技术分享交流,请充分尊重公众号作者的知识产权以及劳动成果,同时作为有素质的爬虫开发人员请控制好抓取的频率,本人概不承担任何基于本代码实现的工程引起的责任或纠纷. 此项目是微信公众号批量自动化爬虫的核心实现, 面向开发者开源, 可以当做go语言包引入到自己项目中, 完整产品必须二次开发实现,QQ交流群: 563954381 微信的防作弊一直在不断更新完善,过于频繁的抓取可能导致微信账号被封禁,在需要大量抓取的任务请使用小号或者测试号进行

chrome插件之6个爬虫工具插件

chrome插件之6个爬虫工具插件 扒网站数据超好用的chrome插件

学习笔记之——网络爬虫的Robots协议

学习笔记之——网络爬虫的Robots协议一、 网络爬虫的尺寸二、爬虫的风险三、网络爬虫限制四、Robots协议1. Robots协议2. Robots协议的遵守方式五、参考资料 一、 网络爬虫的尺寸 小规模、数据量小,爬取速度不敏感,Requests库,>90%——爬去网页,玩转网页。 中规模,数据规模较大,爬取速度敏感,Scrapy库——爬取网站,爬取系列网站。 大规模,搜索引擎,爬取速...

Jock2018的博客 1561

手把手教你配置UEFI Secure Boot:从密钥生成到系统验证(附避坑指南)

本文详细介绍了如何配置UEFI Secure Boot,从密钥生成到系统验证的全过程,包括PK、KEK等关键密钥的生成方法,以及常见问题的解决方案。通过实战案例和避坑指南,帮助用户有效提升系统启动安全性,防止恶意软件植入。

weixin_30776273的博客 343

Python网络爬虫环境搭建

本次学习主要采用Anaconda进行开发(Anaconda后面有介绍),先进行Anaconda的安装,Windows环境下的配置,Anaconda的官网下载速度很慢,我用的是清华镜像下载https://mirrors.tuna.tsinghua.edu.cn/下列为图示例: 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网...

微信公众号:码奋 402

多目标跟踪中使用trackeval评估dancetrack运行结果

trackeval使用

qq_46144849的博客 1783

基于springboot医院医疗仪器管理系统

基于Spring Boot的医院医疗仪器管理系统是一款专门为医院设计的高效管理工具。

2201_75927219的博客 1014

python爬虫万能代码-python网络爬虫源代码(可直接抓取图片)

在开始制作爬虫前,我们应该做好前期准备工作,找到要爬的网站,然后查看它的源代码我们这次爬豆瓣美女网站,网址为:用到的工具:pycharm,这是它的图标?...博文来自:zhang740000的博客Python新手写出漂亮的爬虫代码1初到大数据学习圈子的同学可能对爬虫都有所耳闻,会觉得是一个高大上的东西,仿佛九阳神功和乾坤大挪移一样,和别人说"老子会爬虫”,就感觉特别有逼格,但是又不知从何...

weixin_37988176的博客 8759

FastAPI + LLM 实战:5分钟搞定本地模型API服务部署(含避坑指南)

本文详细介绍了如何使用FastAPI和LLM(大语言模型)快速部署本地API服务,涵盖环境准备、模型集成、性能优化及避坑指南。通过实战示例,帮助开发者在5分钟内完成从零到生产的部署过程,提升AI应用开发效率。

weixin_29062963的博客 107

如何用python爬虫薅羊毛_怎么写网络爬虫来薅羊毛?

【小知找回答系列】以下是来自极客兔子 的文章,小知认为可以解决这个问题呢:作者:极客兔子网络爬虫(英语:web crawler),也叫网络蜘蛛(spider),是一种用来自动浏览互联网的网络机器人。根据实际情况,爬虫本身也有窄义和范义的解释,从小范围来说,爬虫只是为了自动化获取网络上的数据,从广泛意义来说,爬虫也是自动化的一部分,自动化操作页面元素,不仅可以获取数据,还可以执行一些业务,所以单论爬...

weixin_39962199的博客 1119

一代测序、二代测序以及三代测序的优缺点及应用对比?

一、初现庐山真面目 一代测序:又称Sanger测序(多分子,单克隆) 历史:第一代DNA测序技术(又称Sanger测序)在1975年,由Sanger等人开创,并在1977年完成第一个基因组序列(噬菌体X174),全长5375个碱基。研究人员经过30年的实践并对技术及测序策略的不断改进(如使用了不同策略的作图法、鸟枪法),2001年完成的首个人类基因组图谱就是以改进了的Sanger法为其测序基础。 原理:在4个DNA合成反应体系(含dNTP)中分别加入一定比例带有标记的ddNTP(分为:ddATP...

wangprince2017 3万+

高斯投影坐标正反算算法(python)

高斯坐标正反算算法,在正算的时候,y的第一个数字表示是用几度带换算的,第二个数字和第三个数字表示带号。该程序是根据武汉大学出版社出版的第三版的《大地测量学基础》编写, 用于课程实验学习。

weixin_64338372的博客 4588

分布式网络爬虫管理平台Crawlab

Crawlab 是强大的网络爬虫管理平台(WCMP),它能够运行多种编程语言或爬虫框架开发的网路爬虫。

wbsu2004的博客 7216

Rider高效调试UE引擎:无需编译源码的符号配置指南

本文提供了一份详尽的Rider高效调试UE引擎指南,核心在于无需编译源码即可配置调试符号。通过Epic启动器下载官方PDB文件,并在Rider中正确配置外部符号服务器路径,开发者能在10分钟内实现对引擎内部代码(如AActor::Tick)的源码级断点调试、变量查看和调用堆栈分析,极大提升问题排查效率。

weixin_29011239的博客 343

Python从入门到网络爬虫(23个Python开源项目)

随着互联网的快速发展,大量的信息被不断地产生和积累,这也使得网络爬虫变得越来越重要。而Python作为一门高效、易用的编程语言,被广泛地应用于网络爬虫领域。本文将从多个角度分析Python开源爬虫项目的优缺点、应用场景以及未来发展方向。下面给大家介绍23个GitHub上优秀的Python开源爬虫项目。

qq_41765777的博客 2477

企业级OpenClaw部署实战:10个关键配置让你从“养虾“到“精通“

OpenClaw(社区昵称"小龙虾")作为2026年开源社区最活跃的AI Agent项目,凭借其多Agent协同架构和企业级安全隔离能力,已成为中大型企业的首选AI基础设施。本文基于真实企业部署经验,系统梳理了企业级OpenClaw部署的10个关键配置:用户ID消息隔离、群组ID消息隔离、多机器人配置、无限量Agent创建、机器人与Agent关联、Agent间调度、权限配置、Hooks任务、多模型切换及一键备份迁移。

program哲学 931

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

基于网络爬虫技术的网络新闻分析参考论文(论文 + 源码)

利用相关网络爬虫技术与算法,实现网络媒体新闻数据自动化采集与结构化存储,并利用中文分词算法和中文相似度分析算法进行一些归纳整理,得出相关的新闻发展趋势,体现网络新闻数据的挖掘价值。

JW_559的博客 2500

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

上一篇: 基于物联网卡实现的GPS定位
下一篇: 爬取分析—去哪儿景点热度
luoz_python
博客等级 码龄10年 57粉丝 47原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值