如何将爬取到的iframe的src属性内容写入file.txt?附Python代码
解决iframe src写入file.txt的问题
嘿,看起来你已经成功抓取到页面里的iframe元素了,现在就差把这些src属性内容写入文件对吧?其实只需要在你的循环里加上文件写入的逻辑就行,我给你调整下代码,顺便加一些更健壮的处理:
修改后的完整代码
from bs4 import BeautifulSoup import requests import re a = requests.get('domaine.com') soup = BeautifulSoup(a.content, 'lxml') links = soup.find_all('iframe') # 使用with语句安全操作文件,自动处理关闭 with open('file.txt', 'w', encoding='utf-8') as file: for iframe in links: # 先检查iframe是否包含src属性,避免KeyError if 'src' in iframe.attrs: src_url = iframe['src'] print(src_url) # 保留打印方便调试 # 写入文件,每个url单独一行 file.write(src_url + '\n') else: print("注意:发现一个没有src属性的iframe")
关键细节说明
- 文件操作方式:用
with open(...)是Python最推荐的文件处理方式,它会在代码块结束后自动关闭文件,不用手动调用file.close(),避免资源泄漏。 - 写入模式选择:
'w':覆盖模式,如果file.txt已经存在,会清空原有内容再写入新的src链接;- 如果想在现有文件内容后面追加新的链接,把
'w'改成'a'即可。
- 编码设置:加上
encoding='utf-8'可以避免特殊字符或非英文内容出现乱码问题。 - 异常防护:加入
if 'src' in iframe.attrs的判断,防止遇到没有src属性的iframe时抛出KeyError错误,让代码更健壮。
内容的提问来源于stack exchange,提问作者kingos
相关产品推荐
相关产品推荐

