文章地址:http://henuly.top/?p=404
学了一晚上写的第一个爬虫,先爬一下自己博客的所有文章标题。
# -*- coding:utf-8 -*-
import requests
from bs4 import BeautifulSoup
# 将爬下来的博客标题保存到本地文本文件
f = open('title.txt', 'w')
# 存储博客标题数组
allBlog = []
# 获取网页文本源代码
def GetHtmlText(url):
try:
r = requests.get(url, timeout=30)
r.raise_for_status()
r.encoding = 'utf-8'
return r.text
except:
return ""
# 使用BeautifulSoup根据树状标签寻找需要爬取的信息
def FillBlogiList(soup):
Titles = soup.find_all('h4')
for Title in Titles:
Tagas = Title.find_all('a')
for Taga in Tagas:
# 这里还不会去除子标签,先用文本切片手动去除
TagaText = Taga.get_text()
AddText = TagaText[32:-6]
allBlog.append(AddText)
# 输出爬取内容
def SaveBloglist(num):
for i in range(num):
# 写入本地文本文件中
f.write('%s\n' % allBlog[i])
# print(allBlog[i])
# 程序主函数入口
def main(num):
# 博客页数
pages = 5
for i in range(1, pages + 1):
# 要爬取的网页
url = "https://blog.csdn.net/Tony5t4rk/article/list/" + str(i)
# 获取网页文本源代码
html = GetHtmlText(url)
soup = BeautifulSoup(html, "html.parser")
# 使用BeautifulSoup根据树状标签寻找需要爬取的信息
FillBlogiList(soup)
# 输出爬取内容
SaveBloglist(num)
f.close()
if __name__ == '__main__':
main(94) # 目前总共94篇文章
运行结果: