Skip to main content
 首页 » 编程设计

python之如何将结果列表保存到文件

2025年05月04日15powertoolsteam

我已经从这个网站上抓取了我想要的 pdf 链接列表 https://www.gmcameetings.co.uk 这是地方议会委员会 session 的所有 session 记录。 我现在需要将所有结果保存到一个文件中,这样我就可以下载并阅读所有 pdf 文件。 我该如何保存它们?

这是我的代码:

import requests 
import urllib.request 
import time  
from bs4 import BeautifulSoup as bs 
 
url = "https://www.gmcameetings.co.uk/" 
 
r = requests.get(url) 
page = r.text 
soup = bs(page,'lxml') 
 
folder_location = r'E:\Internship\WORK' 
 
meeting_links = soup.find_all('a', href=True) 
 
for link in meeting_links: 
    if link['href'].find('/meetings/')>1: 
        r2 = requests.get(link['href']) 
        print(link['href']) 
        page2 = r2.text 
        soup2 = bs(page2, 'lxml') 
        date_links = soup2.find_all('a', href=True) 
        for dlink in date_links: 
            if dlink['href'].find('/meetings/')>1: 
                r3 = requests.get(dlink['href']) 
                print(dlink['href']) 
                page3 = r3.text 
                soup3 = bs(page3, 'lxml') 
                pdf_links = soup3.find_all('a', href=True) 
                for plink in pdf_links: 
                    if plink['href'].find('minutes')>1: 
                        print("Minutes!") 

我需要一个包含所有链接的文件,然后我可以从中读取 pdf。抱歉,我完全不熟悉编码,所以有点迷茫。

请您参考如下方法:

import requests 
from bs4 import BeautifulSoup as bs 
 
url = "https://www.gmcameetings.co.uk/" 
 
r = requests.get(url) 
page = r.text 
soup = bs(page,'lxml') 
 
f= open(r"E:\Internship\WORK\links.txt","w+") 
n = 0 
 
meeting_links = soup.find_all('a', href=True) 
 
for link in meeting_links: 
    if link['href'].find('/meetings/')>1: 
        r2 = requests.get(link['href']) 
        print(link['href']) 
        page2 = r2.text 
        soup2 = bs(page2, 'lxml') 
        date_links = soup2.find_all('a', href=True) 
        for dlink in date_links: 
            if dlink['href'].find('/meetings/')>1: 
                r3 = requests.get(dlink['href']) 
                print(dlink['href']) 
                page3 = r3.text 
                soup3 = bs(page3, 'lxml') 
                pdf_links = soup3.find_all('a', href=True) 
                for plink in pdf_links: 
                    if plink['href'].find('minutes')>1: 
                        n += 1 
                        print("Minutes!") 
                        f.write("Link " + str(n) + ": " + str(plink['href']) +"\n") 
f.close()