我将以爬取某个新闻网站为例,使用Python的requests和BeautifulSoup库编写一个基本的爬虫程序,抓取首页最新热点新闻标题。
以下是一个简单的示例,假设我们要爬取的是某网站(例如:https://news.example.com)的新闻标题:
1import requests
2from bs4 import BeautifulSoup
3
4def get_latest_news():
5 # 请求目标网站
6 url = "https://news.example.com"
7 headers = {
8 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
9 }
10 response = requests.get(url, headers=headers)
11
12 # 检查请求是否成功
13 if response.status_code == 200:
14 # 解析HTML内容
15 soup = BeautifulSoup(response.text, 'lxml')
16
17 # 假设新闻标题都在class为'news-title'的<h2>标签内
18 news_titles = soup.find_all('h2', class_='news-title')
19
20 for title in news_titles:
21 print(title.text.strip()) # 输出新闻标题
22
23 else:
24 print(f"请求失败,状态码:{response.status_code}")
25
26if __name__ == "__main__":
27 get_latest_news()
请根据实际网页结构替换 'h2', class_='news-title'
这部分,以便正确地定位到新闻标题元素。
另外,对于动态加载的新闻网站,可能需要使用如Selenium或Scrapy等更强大的工具进行数据抓取。同时,对于反爬策略严格的网站,可能还需要处理cookies、session、验证码等问题。