如何将多个urls的内容打印到一个txt.文件上?

问题描述 投票:0回答:1

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

我有一个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.文件上,使用其中一个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.文件看起来是这样的(这只是文本文件的一个小样本,但都是一样的,只是公司名称不同......等等)。

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

我试着用下面的代码把所有的URLs的内容放到一个文本文件上

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个回答
0
投票

由于你在循环中为每一个URL打开文件,文件会被覆盖。

试试这个。

with open('complete_list.txt', 'wb') as f:
  for url in master_urls:
     content = requests.get(url).content
     f.write(content)
© www.soinside.com 2019 - 2024. All rights reserved.