python爬虫爬取不同时间段的网页数据,举例出实现的代码及方法
时间: 2024-06-08 21:11:53 浏览: 141
可以使用 Python 的 requests 和 BeautifulSoup 库来实现爬虫,并且可以利用 datetime 来获取不同时间段的日期。下面是一个简单的例子,爬取百度新闻 2019 年 1 月 1 日至 2019 年 1 月 10 日的数据:
```python
import requests
from bs4 import BeautifulSoup
from datetime import datetime, timedelta
# 设置起始日期和结束日期
start_date = datetime.strptime('2019-01-01', '%Y-%m-%d').date()
end_date = datetime.strptime('2019-01-10', '%Y-%m-%d').date()
# 循环获取每一天的数据
while start_date <= end_date:
# 格式化日期为字符串
date_str = start_date.strftime('%Y%m%d')
# 构造 URL
url = f'http://news.baidu.com/ns?word=&pn=0&cl=2&ct=1&tn=news&rn=20&ie=utf-8&bt={date_str}&et={date_str}'
# 发送请求
response = requests.get(url)
# 解析 HTML
soup = BeautifulSoup(response.text, 'html.parser')
# 提取新闻标题
titles = [title.text for title in soup.select('.c-title a')]
# 打印结果
print(f'{date_str}: {titles}')
# 增加一天
start_date += timedelta(days=1)
```
在上面的代码中,首先设置了起始日期和结束日期,并使用 while 循环逐个获取每一天的数据。在循环内部,首先使用 strftime 方法将日期格式化成字符串,然后构造 URL,发送请求,解析 HTML,提取新闻标题,并打印结果。最后,增加一天,继续下一轮循环,直到结束日期为止。
阅读全文