python每小时爬取自己博客信息并且更新到个人网页

前言

网站的备案也有一段时间了,主站点当时为了应付审核,做了个很丑的页面。。。今天来优化以下这个页面。

在这里插入图片描述
今天来使用python爬取自己的csdn博客

我们每小时更新一次,爬取最新的一页博客,然后更新自己个人网页的内容,如下图,更新后的效果,每小时爬取一次并且更新这个简单的html文件,效果如下图,下图中红色箭头指向的,是动态更新的内容
在这里插入图片描述

总体思路

  1. 我们使用一个python脚本并且运行一个简单的不能再简单的爬虫,获取一下自己的博客的文章列表,并且输出博客信息
  2. 然后使用一个shell脚本,shell里面启动python脚本,引导python脚本的输出,更新index.html主页的内容
  3. 设置Ubuntu定时更新,我们每一小时运行一次shell脚本

在这里插入图片描述

安装python环境与对应的包

安装python

sudo apt-get install python3.7

安装pip

sudo apt-get install pip

安装bs4包和requests包到python3.7

sudo python3.7 -m pip install bs4
sudo python3.7 -m pip install requests

python代码爬取博客信息

我们使用python来爬取我csdn博客的信息,这里是我csdn博客的地址 https://blog.csdn.net/weixin_44176696

我希望爬取最新一页的博客的标题,如图
在这里插入图片描述
我们希望爬取两个信息:

  1. 博客标题
  2. 博客超链接跳转地址

我们打开浏览器的开发者模式,我们看一下自己需要的信息在哪里,我们找到对应的div
在这里插入图片描述
进一步展开这个div,我们发现里面有一个a超链接标签,这个标签里面有我们需要的两个信息,即文章名字和超链接
在这里插入图片描述

那么思路很明确了:我们找到class 属性为 article-item-box csdn-tracking-statistics的标签,然后我们提取每个标签里面的内容

我们在python3.7的环境下编写以下的代码,我们需要用到两个库:

  1. requests
  2. bs4

requests用来爬取html的源码,然后我们将html的源码送入bs4进行解析。bs4提供了快捷的方式以使我们快速找到想要的标签及其信息。我们编写名为test.py的一个简单爬虫脚本

from bs4 import BeautifulSoup
import requests

# 设置http请求头伪装成浏览器
send_headers = {
   
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36",
    "Connection": "keep-alive",
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
    "Accept-Language": "zh-CN,zh;q=0.8"}

# requests获取博客页面html文本
url = "https://blog.csdn.net/weixin_44176696"
r = requests.get(url, headers=send_headers)
r.encoding = "utf-8"
html = r.text

# 将获取到的html送入bs4进行解析
soup = BeautifulSoup(html, "html.parser")   # 获得解析后对象
mainBox = soup.find("div", id="mainBox")    <
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值