我想寻求有关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/

10-10 17:14