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

时间:2019-01-06 18:22:31

标签: python web-scraping readlines python-newspaper

我有一个保存在.txt文件中的URL列表,我想一次将它们提供给一个名为url的变量,我将它应用了news3k python库中的方法。该程序提取URL内容,文章作者,文本摘要等,然后将信息打印到新的.txt文件中。当您给它一个URL作为用户输入时,该脚本可以正常工作,但是要从具有成千上万个URL的.txt中读取,该怎么办?

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

从代码中提取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文件中读取URL的最佳方法,以便一次将它们馈送到url变量中,并应用了其他方法来提取其内容?

这是我在这里的第一个问题,我了解该论坛针对的是经验丰富的程序员,但是我真的很感谢您的帮助。如果我需要编辑或澄清本文中的内容,请告知我,我会立即纠正。

2 个答案:

答案 0 :(得分:1)

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

wizyta

答案 1 :(得分:0)

这可以帮助您:

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()