将这段代码中import requests from bs4 import BeautifulSoup import os # 设置需要爬取的页面数量 total_pages = 5 # 遍历爬取页面 for i in range(1, total_pages + 1): url = f"https://www.bernama.com/bm/news.php?id=2195711" res = requests.get(url) soup = BeautifulSoup(res.text, "html.parser") # 获取需要写入的文本内容 text = soup.find("div",{"class": "col-12 col-sm-12 col-md-12 col-lg-8"},).text print(text) if not div: print(f"id {i} has no data, skipped.") continue text = div.text的url的id自动改为该网站的每一个id,并遍历抓取每个新id对应的网站的数据,并分别保留到txt中,并分别重名名为id的数字
时间: 2024-03-11 12:44:10 浏览: 158
import sys import os import urllib from bs4 import BeautifulSoup
好的,你想让我修改这段代码,将url的id自动改为该网站的每一个id,并遍历抓取每个新id对应的网站的数据,并分别保留到txt中,并分别重名名为id的数字,对吗?
那么你可以将代码修改为:
```
import requests
from bs4 import BeautifulSoup
import os
# 设置需要爬取的页面数量
total_pages = 5
# 遍历爬取页面
for i in range(1, total_pages + 1):
# 根据id构造url
url = f"https://www.bernama.com/bm/news.php?id={i}"
# 发送请求
res = requests.get(url)
# 解析网页
soup = BeautifulSoup(res.text, "html.parser")
# 获取需要写入的文本内容
div = soup.find("div", {"class": "col-12 col-sm-12 col-md-12 col-lg-8"})
if not div:
print(f"id {i} has no data, skipped.")
continue
text = div.text
# 将文本保存到文件中
filename = f"{i}.txt"
with open(filename, "w", encoding="utf-8") as f:
f.write(text)
```
这样,代码就可以自动遍历抓取每个新id对应的网站的数据,并分别保存到txt文件中,并以id的数字为文件名。
阅读全文