import requests
from bs4 import BeautifulSoup
def fetch_blog_posts(url):
# 发送HTTP GET请求
response = requests.get(url)
response.raise_for_status() # 如果请求返回不成功的状态码,则抛出HTTPError异常
# 解析HTML内容
soup = BeautifulSoup(response.text, 'html.parser')
# 假设每个博客文章都包裹在<article>标签中,并且有一个特定的类名"blog-post"
posts = soup.find_all('article', class_='blog-post')
# 提取文章标题和链接
for post in posts:
title = post.find('h2').get_text(strip=True) # 假设标题在<h2>标签中
link = post.find('a', class_='post-link').get('href') # 假设链接在类名为"post-link"的<a>标签中
print(f"Title: {title}\nLink: {link}\n")
# 示例URL,请替换为实际的博客URL
url = 'https://example.com/blog'
fetch_blog_posts(url)
请注意,上述代码是一个基本的博客文章爬虫示例,它使用了`requests`库来发送HTTP请求,并使用`BeautifulSoup`库来解析HTML内容。然而,实际的HTML结构可能与此示例中的假设不同,因此您可能需要根据目标博客的实际HTML结构来调整选择器(如类名、标签名等)。
此外,爬虫应遵守目标网站的`robots.txt`文件和版权政策,以确保合法合规地抓取数据。在将爬虫用于生产环境之前,请确保您有权访问和抓取目标网站的数据。