【问题标题】:How to print content of multiple urls onto one single txt.file?如何将多个 url 的内容打印到一个 text.file 中?
【发布时间】:2020-06-03 00:52:24
【问题描述】:

下午好,我是堆栈溢出的新手,所以如果我的问题格式不正确,我提前道歉。

我有一个这样的 URL 列表(但还有更多),

master_urls = 
['https://www.sec.gov/Archives/edgar/daily-index/2020/QTR1/master.20190102.idx',
'https://www.sec.gov/Archives/edgar/daily-index/2020/QTR1/master.20190103.idx] 

我想将内容写入一个单独的 txt.file。 使用其中一个 URL 可以正常工作。我执行以下步骤来实现它:

file_url = r"https://www.sec.gov/Archives/edgar/daily-index/2019/QTR2/master.20190401.idx"

content = requests.get(file_url).content

with open('master_20190401.txt', 'wb') as f:
    f.write(content)

txt.file 看起来像这样(这只是文本文件的一个小样本,但它与下面显示的相同,只是不同的公司名称......等等):

CIK|Company Name|Form Type|Date Filed|File Name
--------------------------------------------------------------------------------
1000045|NICHOLAS FINANCIAL INC|8-K|20190401|edgar/data/1000045/0001193125-19-093800.txt
1000209|MEDALLION FINANCIAL CORP|SC 13D/A|20190401|edgar/data/1000209/0001193125-19-094732.txt
1000228|HENRY SCHEIN INC|4|20190401|edgar/data/1000228/0001209191-19-021970.txt
1000275|ROYAL BANK OF CANADA|424B2|20190401|edgar/data/1000275/0001140361-19-006199.txt

我尝试使用以下代码将所有 URL 的内容放到一个文本文件中

for file in master_urls:
    content = requests.get(file).content
    with open('complete_list.txt', 'w') as f:
        f.write(content)

但它不起作用。

谁能帮我将 URL 列表中每个 URL 的内容放到一个文本文件中?

提前谢谢你。

【问题讨论】:

    标签: python-3.x url web-scraping python-requests read-text


    【解决方案1】:

    由于您是在每个 URL 的循环内打开文件,因此文件会被覆盖。

    试试这个:

    with open('complete_list.txt', 'wb') as f:
      for url in master_urls:
         content = requests.get(url).content
         f.write(content)
    

    【讨论】:

    • 我在尝试时遇到以下错误:TypeError: write() argument must be str, not bytes
    • 更新了答案。该文件必须用“wb”打开。
    • 我运行了该代码并打开了文本文件,但其中包含以下文本:AccessDenied 拒绝访问44B5D4525BEAFE76ixubjAJdQUgGR2DPee+m213KKBrTN3zTHTxIRC2VtrHOKx91O0XVsM5oU2uMi6xFISeuuBbSDxA= 你还有什么建议吗?
    • 您必须检查这些网址是否正确。因为即使通过浏览器也无法访问这些。唯一有效的网址是sec.gov/Archives/edgar/daily-index/2019/QTR2/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-24
    • 2010-10-19
    相关资源
    最近更新 更多