我想寻求有关rss程序的帮助。我正在做的是收集包含项目相关信息的站点,然后检查它们是否具有rss feed。
链接存储在txt文件中(每行一个链接)。
所以我有一个包含基本URL的txt文件,需要检查rss。
我找到了这段代码,这会使我的工作容易得多。
import requests
from bs4 import BeautifulSoup
def get_rss_feed(website_url):
if website_url is None:
print("URL should not be null")
else:
source_code = requests.get(website_url)
plain_text = source_code.text
soup = BeautifulSoup(plain_text)
for link in soup.find_all("link", {"type" : "application/rss+xml"}):
href = link.get('href')
print("RSS feed for " + website_url + "is -->" + str(href))
get_rss_feed("http://www.extremetech.com/")
但我想从txt文件中打开收集的网址,而不是一个个地键入每个网址。
所以我试图用这个扩展程序:
from bs4 import BeautifulSoup, SoupStrainer
with open('test.txt','r') as f:
for link in BeautifulSoup(f.read(), parse_only=SoupStrainer('a')):
if link.has_attr('http'):
print(link['http'])
但这返回了错误,并指出beautifoulsoup不是http客户端。
我也对此进行了扩展:
def open()
f = open("file.txt")
lines = f.readlines()
return lines
但这给了我一个用“,”分隔的列表
如果有人能够帮助我,我将非常感谢
最佳答案
通常,您会执行以下操作:
with open('links.txt', 'r') as f:
for line in f:
get_rss_feed(line)
而且,除非您打算替换内置函数
open
,否则用名称open
定义函数是一个坏主意。关于python - 在python中打开来自txt文件的链接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38022010/