【Python】博客信息爬取-微信消息自动发送
1、环境安装
python -m pip install --upgrade pip pip install bs4 pip install wxpy pip install lxml
2、博客爬取及发送
from bs4 import BeautifulSoup
from threading import Timer
import requests
import traceback
from wxpy import * url = '' nIndex = 6
my_groups = None def getMsg(nIndex):
# 获得网址源码
html = requests.get(url).content
soup = BeautifulSoup(html, 'lxml') # print('开始抓取')
# title = soup.title.string
# print(title) # areaall = soup.find(id='sina_keyword_ad_area2').children
areaall = soup.select('#sina_keyword_ad_area2 p')
# print(areaall)
iCount = len(areaall)
# print(iCount) # print(nIndex)
msg = ""
if iCount < nIndex:
return msg,0
else:
msg = areaall[iCount - 1]
msg = msg.get_text()
# print(msg)
return msg,iCount msgTemp = ''
nNullMsg = 0 def auto_send():
try:
global nIndex
global my_groups
global msgTemp
global nNullMsg
msgContent,nIndexMsg = getMsg(nIndex)
msgContent = str(msgContent).strip()
# print(nIndexMsg)
# nIndex += 1
# print(msgContent)
if len(msgContent) != 0 :
# print(str(nIndex) + ":\t" + msgContent)
# return
if msgContent != msgTemp :
if my_groups != None and len(my_groups) > 0 :
print("发送消息:" + msgContent)
my_groups[0].send(msgContent)
msgTemp = msgContent
else:
print('消息已发送')
else:
nNullMsg += 1
print("没有新消息")
if nNullMsg == 20 :
print("恭喜发财,今日推送完毕")
return # # 每隔86400秒(1天),发送1次
t = Timer(3, auto_send)
t.start() except Exception as e:
print(e)
# 你的微信昵称,注意这里不是备注,也不是微信帐号
my_friend = bot.friends().search('NetUML')[0]
my_friend.send(u"报告老板,今日份的信息发送失败了!") if __name__ == "__main__": # 初始化机器人,扫码登陆微信,适用于Windows系统
# 初始化一个机器人对象
bot = Bot(cache_path=True) my_groups = bot.groups().search('广告技术') for group in my_groups:
print(group) # # Linux系统,执行登陆请调用下面的这句
# bot = Bot(console_qr=2, cache_path="botoo.pkl") # 调用函数进行消息发送
auto_send()
【Python】博客信息爬取-微信消息自动发送的更多相关文章
- 利用爬虫将Yuan先生的博客文章爬取下来
由于一次巧遇,我阅读了Yuan先生的一篇博客文章,感觉从Yuan先生得博客学到很多东西,很喜欢他得文章.于是我就关注了他,并且想阅读更多出自他手笔得博客文章,无奈,可能Yuan先生不想公开自己得博客吧 ...
- itchat和matplotlib的结合使用爬取微信信息
前几天无意中看到了一片文章,<一件有趣的事:我用 Python 爬了爬自己的微信朋友>,这篇文章写的是使用python中的itchat爬取微信中朋友的信息,其中信息包括,昵称.性别.地理位 ...
- python itchat 爬取微信好友信息
原文链接:https://mp.weixin.qq.com/s/4EXgR4GkriTnAzVxluJxmg 「itchat」一个开源的微信个人接口,今天我们就用itchat爬取微信好友信息,无图言虚 ...
- 使用Python爬取微信公众号文章并保存为PDF文件(解决图片不显示的问题)
前言 第一次写博客,主要内容是爬取微信公众号的文章,将文章以PDF格式保存在本地. 爬取微信公众号文章(使用wechatsogou) 1.安装 pip install wechatsogou --up ...
- python爬取微信公众号
爬取策略 1.需要安装python selenium模块包,通过selenium中的webdriver驱动浏览器获取Cookie的方法.来达到登录的效果 pip3 install selenium c ...
- Python爬取微信好友
前言 今天看到一篇好玩的文章,可以实现微信的内容爬取和聊天机器人的制作,所以尝试着实现一遍,本文记录了实现过程和一些探索的内容 来源: 痴海 链接: https://mp.weixin.qq.com/ ...
- 如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下)
前天给大家分享了如何利用Python网络爬虫爬取微信朋友圈数据的上篇(理论篇),今天给大家分享一下代码实现(实战篇),接着上篇往下继续深入. 一.代码实现 1.修改Scrapy项目中的items.py ...
- 安居客scrapy房产信息爬取到数据可视化(下)-可视化代码
接上篇:安居客scrapy房产信息爬取到数据可视化(下)-可视化代码,可视化的实现~ 先看看保存的数据吧~ 本人之前都是习惯把爬到的数据保存到本地json文件, 这次保存到数据库后发现使用mongod ...
- python爬取微信小程序(实战篇)
python爬取微信小程序(实战篇) 本文链接:https://blog.csdn.net/HeyShHeyou/article/details/90452656 展开 一.背景介绍 近期有需求需要抓 ...
随机推荐
- 关于多线程之GCD的一些学习要点
GCD是当前多线程使用最方便的,也是使用比较多的. 学习GCD主要集中在一下几点: 一.队列,同步,异步 1.主队列:dispatch_get_main_queue(); 2.串行队列:dispatc ...
- 几个例子弄懂JS 的setTimeout的运行方式
function test() { var a = 1; setTimeout(function() { alert(a); a = 5 ...
- JavaScirpt对象原生方法
Object.assign() Object.assign()方法用于合并对象,只会合并可枚举的属性 const obj1= {a: 1} const obj2 = Object.assign({}, ...
- Mac 10.12下安装python3环境
python3感觉用虚拟环境会比较好操作一些,也不用直接卸载python2. 一.基于brew快速安装 # 安装python3 brew install python3 # 安装pip(好像3自带pi ...
- 基于spring boot 2.x的websocket示例
spring boot 2/spring 5自带了websocket,下面是最基本的示例(包括java服务端.java客户端以及js客户端) 一.pom依赖 <dependencies> ...
- MOS管当开关控制时,为什么一般用PMOS做上管NMOS做下管?
了解MOS管的开通/关断原理你就会发现,使用PMOS做上管.NMOS做下管比较方便.使用PMOS做下管.NMOS做上管的电路设计复杂,一般情况下意义不大,所以很少采用. 下面先了解MOS管的开通/关断 ...
- 导入的eclipse 中 maven项目,项目中已经加入lombok.jar包,但是不能编译成功
原文地址:http://bbs.csdn.net/topics/390854507/ 答案是最后一个:单击工程名 Maven->Update Project
- SpringDataJpa学习
# SpringBoot Jdbc JPA JPA是`Java Persistence API`的简称,中文名Java持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的 ...
- adminlte.js-页面模版
html页面 使用cdn加速. <!DOCTYPE html> <html lang="en"> <head> <title>Tes ...
- Micro开发文档
secret = md5 ({app_id,timestamp}) access_toKen = md5 ({app_id,app_srect,timestamp}) sign = sha2(para ...