繁体   English   中英

将抓取的数据存储到 Python 中的文本文件中

[英]Store Scraped data to a text file in Python

我能够使用 Beautifulsoup 抓取数据,现在希望生成一个文件,其中包含我使用 Beautiful Soup 抓取的所有数据。

file = open("copy.txt", "w") 
data = soup.get_text()
data
file.write(soup.get_text()) 
file.close() 

我没有看到文本文件中的所有标签和全部内容。 关于如何实现它的任何想法?

您可以使用:

with open("copy.txt", "w") as file:
    file.write(str(soup))

如果您有一个将被抓取的 URL 列表,然后您想将抓取的每个 URL 存储在不同的文件中,您可以尝试:

my_urls = [url_1, url_2, ..., url_n]
for index, url in enumerate(my_urls):
    # .............
    # some code to scrape 
    with open(f"scraped_{index}.txt", "w") as file:
        file.write(str(soup))

快速解决方案:

您只需将汤转换为字符串即可。 使用测试站点,以防其他人希望遵循:

from bs4 import BeautifulSoup as BS
import requests

r = requests.get("https://webscraper.io/test-sites/e-commerce/allinone")
soup = BS(r.content)

file = open("copy.txt", "w") 
file.write(str(soup))
file.close()

稍微好一点的解决方案:

更好的做法是为文件 IO 使用上下文( with使用):

from bs4 import BeautifulSoup as BS
import requests

r = requests.get("https://webscraper.io/test-sites/e-commerce/allinone")
soup = BS(r.content)

with open("copy.txt", "w") as file:
    file.write(str(soup))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM