用requests和re爬取https://www.shui5.cn/article/BeiJingShiCaiShuiFaGui/的10页标题时间并写入txt文档
时间: 2023-08-21 22:04:37 浏览: 89
【Python资源】基于requests和re模块,爬取百度图片 的源码
好的,下面是使用requests和re库来实现的代码:
```python
import requests
import re
# 定义要爬取的页数和url
page_num = 10
url_base = 'https://www.shui5.cn/article/BeiJingShiCaiShuiFaGui/'
# 打开文件
with open('title_time.txt', 'w', encoding='utf-8') as f:
# 循环爬取每一页
for page in range(page_num):
# 拼接当前页的url
url = url_base + 'index_' + str(page+1) + '.html'
# 发送请求
response = requests.get(url)
response.encoding = 'utf-8'
# 使用正则表达式提取每篇文章的标题和时间
pattern = r'<li>.*?<span class="time">(.*?)</span>.*?<a href=.*?>(.*?)</a>.*?</li>'
results = re.findall(pattern, response.text, re.S)
# 写入文件
for result in results:
title = result[1].strip()
time = result[0].strip()
f.write(title + '\t' + time + '\n')
# 提示爬取完成
print('Done!')
```
这段代码与之前的代码不同之处在于使用了正则表达式来提取标题和时间,而不是使用BeautifulSoup库。这里的正则表达式使用了re库中的findall函数来匹配多个结果,并使用re.S来匹配跨行的文本。其他部分与之前的代码相同。
阅读全文