我想收集关于 reddit 的评论,我使用 praw 来获取像 a2rp5i
这样的文档的 ID。例如,我已经收集了一组ID,如
docArr=
['a14bfr', '9zlro3', 'a2pz6f', 'a2n60r', 'a0dlj3']
my_url = "https://old.reddit.com/r/Games/comments/a0dlj3/"
uClient = uReq(my_url)
page_html = uClient.read()
uClient.close()
page_soup = soup(page_html, "html.parser")
content_containers = page_soup.findAll("div", {"class":"md"})
timestamp_containers = page_soup.findAll("p", {"class":"tagline"})
time = timestamp_containers[0].time.get('datetime')
我想使用时间作为我的文件名,我想将内容保存为 txt 文件
outfile = open('%s.txt' % time , "w")
for content_container in content_containers:
if content_container == "(self.games)":
continue
data = content_container.text.encode('utf8').decode('cp950', 'ignore')
outfile.write(data)
outfile.close()
这种尝试对我来说很好,只保存一个 url
但是我想同时在 docArr
中保存 ID
url_test = "https://old.reddit.com/r/Games/comments/{}/"
for i in set(docArr):
url = url_test.format(i)
它为我提供了正确的网址。但是如何一次性保存 docArr 中所有 url 的 time
和 content_container
?
最佳答案
你只需要在当前代码中添加缩进
for i in docArr:
url = url_test.format(i)
uClient = uReq(url)
....
....
outfile = open('%s.txt' % time , "w")
for content_container in content_containers:
....
....
outfile.close()
关于html - bs4如何同时抓取多个页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53648789/