python爬搜狗微信获取指定微信公众号的文章

前言:

之前收藏了一个叫微信公众号的文章爬取,里面用到的模块不错。然而

偏偏报错= =。果断自己写了一个

正文:

第一步爬取搜狗微信搜到的公众号:

http://weixin.sogou.com/weixin?type=1&query=FreeBuf&ie=utf8&s_from=input&_sug_=n&_sug_type_=1&w=01015002&oq=&ri=11&sourceid=sugg&sut=0&sst0=1529673558816&lkt=0%2C0%2C0&p=40040108

将FreeBuf改为自己要搜的公众号

查看网页源代码:

正则匹配:

第一个正则:匹配指定的URL 正则: src=.*&timestamp=.*&ver=.*&signature=.*

蓝色标出来的是我们要的,注意多请求URL可以注意到URL,signature也就是签名是随机变化的。所以可得到正则:.*== ,取第一个,然后打开此链接爬取文章链接即可(更多细节会在代码看到)

代码:

import requests
import re
import threading
user=input(‘请输入要搜索的微信公众号或微信号:‘)
headers={‘user-agent‘:‘Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN) AppleWebKit/523.15 (KHTML, like Gecko, Safari/419.3) Arora/0.3 (Change: 287 c9dfb30)‘}
url=‘http://weixin.sogou.com/weixin?type=1&s_from=input&query={}&ie=utf8&_sug_=y&_sug_type_=&w=01015002&oq=jike&ri=0&sourceid=sugg&stj=0%3B0%3B0%3B0&stj2=0&stj0=0&stj1=0&hp=36&hp1=&sut=4432&sst0=1529305369937&lkt=5%2C1529305367635%2C1529305369835‘.format(user.rstrip())

def zhuaqu():
    r = requests.get(url=url, headers=headers)
    rsw = re.findall(‘src=.*&timestamp=.*&ver=.*&signature=.*‘, str(r.text))
    if ‘验证码‘ in str(r.text):
        print(‘[-]发现验证码请访问URL:{}后在重新运行此脚本‘.format(r.url))
        exit()
    else:
        cis = re.findall(‘.*?==‘, str(rsw[0]))
        qd = "".join(cis)
        qd2 = "{}".format(qd)
        qd3 = qd2.replace(‘;‘, ‘&‘)
        urls = ‘https://mp.weixin.qq.com/profile?‘.strip() + qd3
        uewq=requests.get(url=urls,headers=headers)
        if ‘验证码‘ in str(uewq.text):
                print(‘[-]发现验证码请访问URL:{}后在重新运行此脚本‘.format(uewq.url))
                exit()
        else:
                ldw = re.findall(‘src = ".*?" ; ‘, uewq.text)
                ldw2=re.findall(‘timestamp = ".*?" ; ‘,uewq.text)
                ldw3=re.findall(‘ver = ".*?" ; ‘,uewq.text)
                ldw4=re.findall(‘signature = ".*?"‘,uewq.text)
                ldws="".join(ldw)
                ldw2s="".join(ldw2)
                ldw3s="".join(ldw3)
                ldw4s="".join(ldw4)
                ldwsjihe=ldws+ldw2s+ldw3s+ldw4s
                fk=ldwsjihe.split()
                fkchuli="".join(fk)
                gs=fkchuli.replace(‘"‘,‘‘)
                hew=gs.replace(‘;‘,‘&‘)
                wanc="http://mp.weixin.qq.com/profile?"+hew
                xiau=requests.get(url=wanc,headers=headers)
                houxu=re.findall(‘{.*?}‘,xiau.content.decode(‘utf-8‘))
                title=re.findall(‘"title":".*?"‘,str(houxu))
                purl=re.findall(‘"content_url":".*?"‘,str(houxu))
                for i in range(0,len(title)):
                    jc=‘{}:{}‘.format(title[i],‘https://mp.weixin.qq.com‘+purl[i]).replace(‘"‘,‘‘)
                    jc2=jc.replace(‘content_url‘,‘‘)
                    jc3=jc2.replace(‘;‘,‘&‘)
                    print(jc3)

t=threading.Thread(target=zhuaqu,args=())
t.start()

测试结果:

BGM:

原文地址:https://www.cnblogs.com/haq5201314/p/9215569.html

时间: 2024-11-08 17:47:54

python爬搜狗微信获取指定微信公众号的文章的相关文章

微信公众号的文章爬取有三种方式

a. 通过微信订阅号在发布文章,可以查找公众号的文章,方式见微信链接.,阅读数.点赞数.评论数仍无法抓取. b. 通过搜狗微信搜索微信公众号,但是文章篇幅仍然后有限制,点赞.阅读数.和评论数无法抓取. c. 通过“中间人方式”对数据进行拦截,过滤解析后进行抓取. 这里就时利用第三种c方式对数据进行抓取. 思路: 1. 安装代理AnProxy,在手机端安装CA证书,启动代理,设置手机代理: 2. 获取目标微信公众号的__biz; 3. 进入微信公众号的历史页面: 4. 使用Monkeyrunner

如果微信营销离开了公众号

微信营销,是时下的网络营销主流.很多企业都在通过微信的渠道宣传自己的产品.在微信营销上应用的最多的便是公众号.公众号好比微信的核心灵魂,当微信离开了公众号,微信就好比将死之鱼,食之便无味. 公众号是企业和个人的自媒体平台.同时具有营销,客户管理,互动交流,以及品牌建设集于一体的功能.微信公众号也在慢慢与传统行业接轨,智能硬件设备接入微信公众号,将微信公众号万千宠爱于一身.我们设想一下,假如微信不再有公众平台,你们还觉得微信好玩吗?你们还认为微信能够游刃有余的让营销变得简单吗?微信公众号之自媒体建

公众号群发文章支持添加小程序

微信小程序深夜凌晨放大招,公众号群发文章支持添加小程序,以下是微信公众平台的公告:为了方便用户在阅读文章时使用公众号提供的服务,公众号群发文章支持添加小程序. 公众号可将已关联的小程序添加到群发文章的正文中,点击后打开小程序. 可自定义小程序卡片的标题和图片,指定小程序打开的页面. 支持所有公众号群发文章的正文里添加小程序. 不知道怎么在公众号图文消息里添加小程序卡片?看这里: ①登录公众号后台,点击右侧“小程序”②选择已关联的小程序 ③确认展示方式(查看样式效果)④编辑标题.图片和小程序页面,

微信第三方平台开头篇--MVC代码(第三方获取ticket和公众号授权)

微信公众号授权给开放平台 公众号授权给第三方平台的技术实现流程比较简单 这个步骤遗漏了开头获取第三方平台自己的accessToken 先说下流程 如何注册开放平台的第三方信息看截图 其他不说了,此文只说代码部分. 先获取第三方10分一次的ticket. 1 using (var streamReader = new StreamReader(Request.InputStream)) 2 { 3 string stringInput = streamReader.ReadToEnd(); 4 s

Chrome获取微信授权,调试公众号页面

1.目的 你可能遇到过这种情况,在微信中打开公众号是这样的. 复制链接,在chrome中打开是这样的. 博主今天要解决的就是,如果在chrome中加载需要微信授权的页面,至于加载成功后要干嘛,测试?抓包?查看源码?...这就是你的事情了,先来说说怎么绕过这个验证吧. 2.准备工具 工欲善其事必先利其器,先来说说工具. 工具名称 用途 微信PC版 PC版的微信内置浏览器能获取微信授权.复制页面链接 Chrome浏览器 调试工具,我们的目的就是在chrome里面绕过微信授权 Fiddler4 抓包工

微信支付之JSAPI公众号支付

前提 本教程默认以下几点你已经完全满足: 开通了认证后的服务号 服务号开通的微信支付的认证 腾讯给你的邮件中有商户登录的账号和密码 拥有一个可供上传代码和设置回调域名的网站或云服务 有一点点php知识. 第一步:公众号设置 1. 你的公众号,在支付认证的标签下, 内容应该和下图类似.证明公众号已经完成了认证和合约的签署. 2. 然后在微信支付–开发配置中,设置测试授权目录和测试白名单 3. 在公众号设置-功能设置标签中,设置JS接口安全域名,这个域名在认证获取token的过程中可能会用到.但具体

微信开放平台之公众号第三方平台探讨总结

1.申请地址:https://open.weixin.qq.com/ 2.填写开发资料: 说明:授权事件接收URL,用于获取微信服务器每10分钟推送的ComponentVerifyTicket,该Tikict 用于获取三方平台的 component_access_token,而component_access_token 则用于获取预授权码pre_auth_code,授权码换取公众号的授权信,预授权码:该API用于使用授权码换取授权公众号的授权信息,并换取authorizer_access_to

【虚拟走路】微信运动刷步公众号更新了再用什么刷步数

大家都知道微信运动可以记录我们每天的步行数据,但是我们想知道这个数据能否通过技术手段进行作弊呢? 之前我们知道有一个黑科技公众号[虚拟走路],可以对微信运动数据进行轻松修改. 但是后来因为种种原因这个公众号被停用了,所以官方又开发出了网页版本的微信运动刷步程序供给有需求的用户使用. 网友们可以百度搜索[爱刷步]微信运动刷步系统,或者直接访问[爱刷步]微信运动刷步官网获取最新的刷步方式. www.ishuabu.cn 原文地址:https://www.cnblogs.com/shuabu/p/86

app微信授权登录,公众号网页授权,手机号登录三个账号的关联处理

同一个产品,有公众号网页版(微信授权),app版(微信授权登录.手机号登录) 微信公众号openid和微信app授权登录的openid不一致需要通过unionid来识别用户身份 前提:在微信开放平台中绑定公众账号,才能获取unionid //微信公众平台1.授权成功后 如果有此openid,登录此openid账号 否则有此unionid,登录此unionid账号 否则创建带openid.unionid数据的账号2.绑定手机号 a.当前已绑定有手机号 如果新手机号已被绑定则失败 否则绑定此手机号