【问题标题】:How to save extracted information to separate txt files?如何将提取的信息保存到单独的 txt 文件中?
【发布时间】:2021-02-12 21:19:29
【问题描述】:

我已经构建了一个代码,可以从我的网站的博客中提取信息(这些 URL 位于 excel 文件中,所以我从那里提取它们)。我希望将提取的每个 URL 信息放在单独的 .txt 文件中(到目前为止,我只设法将它们放在 1 中)。我怎样才能做到这一点?我什至不知道从哪里开始,我在这里很迷茫:(任何帮助将不胜感激。

import urllib
from bs4 import BeautifulSoup
import pandas as pd
import time

i = []

crawl = pd.read_excel('C:/Users/Acer/Desktop/internal_all2.xlsx') 
addresses = crawl['Address'].tolist() 

for row in addresses:
    url = row
    time.sleep(5)
    response = urllib.request.urlopen(url)
    soup = BeautifulSoup(response, 'html.parser')
    content = soup.find_all('p')
    
    for content2 in content:
        print(url, content2)
        i.append([url,content2])
        
    df = pd.DataFrame(i)
    df.to_csv('C:/Users/Acer/Desktop/scripts/content/test.txt', index=False)

【问题讨论】:

    标签: python pandas csv beautifulsoup


    【解决方案1】:

    只需在文件名后面附加一个字符串:

    import urllib
    from bs4 import BeautifulSoup
    import pandas as pd
    import time
    
    i = []
    
    crawl = pd.read_excel('C:/Users/Acer/Desktop/internal_all2.xlsx') 
    addresses = crawl['Address'].tolist() 
    
    for row in addresses:
        url = row
        time.sleep(5)
        response = urllib.request.urlopen(url)
        soup = BeautifulSoup(response, 'html.parser')
        content = soup.find_all('p')
        
        for content2 in content:
            print(url, content2)
            i.append([url,content2])
            
        df = pd.DataFrame(i)
        df.to_csv(f'C:/Users/Acer/Desktop/scripts/content/test_{url}.txt', index=False)
    
    

    【讨论】:

    • 使用您建议的方法时出现以下错误:ValueError: Protocol not known: C:/Users/Acer/Desktop/scripts/content/https
    • 你用的是什么版本的python?
    • Jupyter 上的 Python 3
    • 试试这个:df.to_csv('C:/Users/Acer/Desktop/scripts/content/test_'+url+'.txt', index=False)
    • 由于不能在 .txt 文件名上使用的 URL 中的非法符号 (:, |) 而失败。你的方法有效,谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-24
    • 1970-01-01
    • 1970-01-01
    • 2015-12-09
    • 2021-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多