如何将保存在 .txt 中的 URL 列表输入到 Python 程序中?

How to input a list of URLs saved in a .txt to a Python program?

我有一个 URL 的列表保存在一个 .txt 文件中,我想一次一个地将它们提供给一个名为 url 的变量,我从中应用方法newspaper3k python 图书馆。该程序提取 URL 内容、文章作者、文本摘要等,然后将信息打印到一个新的 .txt 文件中。当您给它一个 URL 作为用户输入时,该脚本工作正常,但是我应该怎么做才能从包含数千个 URL 的 .txt 中读取?

我只是从 Python 开始,事实上这是我的第一个脚本,所以我试着简单地说 url = (myfile.txt),但我意识到这行不通,因为我必须一次一行地读取文件。所以我尝试对它应用 read()readlines(),但它不能正常工作,因为 'str' object has no attribute 'read''readlines'。我应该用什么来读取保存在 .txt 文件中的那些 URLs,每个都以新行开头,作为我的简单脚本的输入?我应该将字符串转换为其他内容吗?

从代码中提取,第 1-18 行:

from newspaper import Article
from newspaper import fulltext
import requests


url = input("Article URL: ")
a = Article(url, language='pt')
html = requests.get(url).text
text = fulltext(html)
download = a.download()
parse = a.parse()
nlp = a.nlp()
title = a.title
publish_date = a.publish_date
authors = a.authors
keywords = a.keywords
summary = a.summary

后来我构建了一些函数来以所需格式显示信息并将其保存到新的 .txt。我知道这是一个非常基本的问题,但老实说我被困住了......我在这里阅读了其他类似的问题,但我无法正确理解或应用这些建议。那么,从 .txt 文件中读取 URLs 以便将它们一次一个地提供给 url 变量的最佳方法是什么?内容?

这是我在这里的第一个问题,我知道论坛是针对更有经验的程序员的,但我真的很感激能得到一些帮助。如果我需要编辑或澄清此 post 中的某些内容,请告诉我,我会立即更正。

这可以帮助你:

url_file = open('myfile.txt','r')
for url in url_file.readlines():
   print url
url_file.close()

您可以将其应用到您的代码中,如下所示

from newspaper import Article
from newspaper import fulltext
import requests

url_file = open('myfile.txt','r')
for url in url_file.readlines():
  a = Article(url, language='pt')
  html = requests.get(url).text
  text = fulltext(html)
  download = a.download()
  parse = a.parse()
  nlp = a.nlp()
  title = a.title
  publish_date = a.publish_date
  authors = a.authors
  keywords = a.keywords
  summary = a.summary
url_file.close()

这是您可以做到的一种方法:

from newspaper import Article
from newspaper import fulltext
import requests

with open('myfile.txt',r) as f:
    for line in f:
        #do not forget to strip the trailing new line
        url = line.rstrip("\n")
        a = Article(url, language='pt')
        html = requests.get(url).text
        text = fulltext(html)
        download = a.download()
        parse = a.parse()
        nlp = a.nlp()
        title = a.title
        publish_date = a.publish_date
        authors = a.authors
        keywords = a.keywords
        summary = a.summary