资讯专栏INFORMATION COLUMN

爬取博客园首页并定时发送到微信

aaron / 834人阅读

摘要:应女朋友要求,为了能及时掌握技术动向,特意写了这个爬虫,每天定时爬取博客园首页并发送至微信。

应女朋友要求,为了能及时掌握技术动向,特意写了这个爬虫,每天定时爬取博客园首页并发送至微信。

环境:

Python3.4

第三方库

Requests:向服务器发送请求

BeautifulSoup4:解析Html

wxpy:微信接口

Schedule:定时器

代码
# -*-coding:utf-8 -*-

import requests
from requests import exceptions
from bs4 import BeautifulSoup as bs
import re
from wxpy import *
import  schedule
import  time


bot=Bot(cache_path=True)

#获取网页内容
def getHtml(pageIndex):
    #定义请求头 伪装成浏览器
    headers={"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36"}
    #pageIndex代表页数
    payload={"CategoryType": "SiteHome", "ParentCategoryId": "0", "CategoryId": "808", "PageIndex": pageIndex, "TotalPostCount": "4000"}
    try:
        r=requests.post("https://www.cnblogs.com/mvc/AggSite/PostList.aspx",data=payload,headers=headers)
        r.raise_for_status()
        r.encoding=r.apparent_encoding
        return r.text
    except requests.RequestException as e:
        return e.strerror
#向微信文件传输助手发送消息
def sendblogmsg(content):
    #搜索自己的好友
    #my_friend = bot.friends().search("")[0]
    my_friend=bot.file_helper
    my_friend.send(content)

def job():
    contents=""
    #i表示当前页数
    for i in range(1,3):
        html=getHtml(i)
        soup=bs(html,"html.parser")
        blogs=soup.findAll("div",{"class":"post_item_body"})
        for blog in blogs:
            title=blog.find("h3").get_text()
            summary=blog.find("p",{"class":"post_item_summary"}).get_text()
            link=blog.find("a",{"class":"titlelnk"})["href"]
            content="标题:"+title+"
链接:"+link+"
-----------
"
            contents+=content
        sendblogmsg(contents)
#定时
schedule.every().day.at("06:00").do(job)
while True:
    schedule.run_pending()
    time.sleep(1)
bot.join()
注意事项:

不要进行恶意攻击行为

尽量在空闲时间访问网站,控制访问频率,不要恶意消耗网站资源

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41586.html

相关文章

  • 爬取博客首页数据进行数据分析

    摘要:目标选取了博客园,爬取了首页的前页文章,但是数据放在那一直没去分析。为了避免对博客园造成压力,爬虫代码不公开。注数据来源是年月日至月的博客园首页文章。谁是博客园最爱的用户最爱的用户,在这里是按文章上首页的数量来判断的。 前言 之前折腾了一小段时间scrapy,觉得使用起来异常简单,然后打算练练手。目标选取了博客园,爬取了首页的前200页文章,但是数据放在那一直没去分析。趁着现在有闲心,...

    zilu 评论0 收藏0
  • 个人博客建站最全解析

    摘要:今天呢我想给大家,也给我自己,对我的个人网站做一个全面的整理和分析。首页上用户直接看得到的部分有导航栏和轮播大图当时写这个网站的设想是在年月份的时候。目前网上流行的个人博客页面。感谢框架对本网站的大力支持。大家好~又见面了。 今天呢我想给大家,也给我自己, 对我的个人网站yanyy.cn/yanyy 做一个全面的整理和分析。 也给有这方面想法的朋友一个参考。 做网站的有爱好也有带有目的性的。...

    zlyBear 评论0 收藏0
  • java爬取博客个人博客

    摘要:本人以前也是搞过几年,由于公司的岗位职责,后面渐渐地被掰弯,现在主要是做前端开发。所以想利用爬取文章,再将爬取的转化成目前还未实现,欢迎各位同学指导。 java爬取博客园个人博客 前言 近期本人在某云上购买了个人域名,本想着以后购买与服务器搭建自己的个人网站,由于需要筹备的太多,暂时先搁置了,想着先借用GitHub Pages搭建一个静态的站,搭建的过程其实也曲折,主要是域名地址配置把...

    leonardofed 评论0 收藏0
  • 首次公开,整理12年积累的博客收藏夹,零距离展示《收藏夹吃灰》系列博客

    摘要:时间永远都过得那么快,一晃从年注册,到现在已经过去了年那些被我藏在收藏夹吃灰的文章,已经太多了,是时候把他们整理一下了。那是因为收藏夹太乱,橡皮擦给设置私密了,不收拾不好看呀。 ...

    Harriet666 评论0 收藏0
  • 浅谈CDN、SEO、XSS、CSRF

    摘要:要钱的简单理解百度的广告就是不用钱的自己配置提高搜索引擎的权重是一种技术,主要是用于提高网站浏览量而做的优化手段为什么需要我们搜一下微信公众号发现排名是有先后的,博客园都是靠前的。 CDN 什么是CDN 初学Web开发的时候,多多少少都会听过这个名词->CDN。 CDN在我没接触之前,它给我的印象是用来优化网络请求的,我第一次用到CDN的时候是在找JS文件时。当时找不到相对应的JS文件...

    番茄西红柿 评论0 收藏0

发表评论

0条评论

aaron

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<