【问题标题】:extracting text from multiple urls从多个网址中提取文本
【发布时间】:2015-06-03 15:17:57
【问题描述】:

我对 Python 很陌生,但我知道它有多么强大。我想用它尝试一些东西,但我几乎是在自学,所以请随意用最基本的术语来解释。 :/

我尝试使用鹅提取工具从 URL 中提取一些文本,效果很好。我很简单……

from goose import Goose

url = 'http://example.com'
g = Goose()
article = g.extract(url=url)

article.cleaned_text

我想复制这个过程,以便从数百个 URL 中提取文本。有没有办法设置它,这样我就可以输入一个 URL 列表,提取文本,然后(我的猜测)我可以将它们连接在一起用于 NLP 或我想做的任何其他事情?在此先感谢...

【问题讨论】:

  • 1.首先将所需的 URL 保存在文本文件中 2. 读取文件和 python 脚本循环遍历 url 并提取文本。 3. 通过写入文件来转储所有内容(每行一个文档) 4. 完成所有 NLP 任务。
  • @pbu 您可能想将其发布为答案,这似乎是一个有效的解决方案。

标签: python url text-extraction


【解决方案1】:

只需将所有网址放在一个文本文件中,例如:

http://example1.com
http://example2.com
http://example3.com

然后,使用这个列表循环遍历like,

from goose import Goose

# Read list of hundreds of urls from a file
url_list = open("url_list.txt", "r").read().split("\n")

# loop for each url
for url in url_list:
    g = Goose()
    article = g.extract(url=url)

    # process/store ...
    article.cleaned_text

稍后,由于您拥有分析所需的文本,请继续存储,然后在单独的代码块中进行处理。

【讨论】:

  • 请不要将代码作为答案转储。解释一下。就目前而言,这是一个质量很差的答案。
  • 我添加了更多解释。但我认为我的代码可以用简短的内联 cmets 自我解释:P
【解决方案2】:

是的, 您可以迭代 url 的“列表”(这是一个 python 对象),或者从文件中获取这些 url:

从列表中获取 URL:

from goose import Goose
list_of_urls = ['url1','url2','url1000'] #etc
g = Goose()
for url in list_of_urls:
     article = g.extract(url=url)
     article.cleaned_text
     #do more stuff

从文件中读取网址:

with open(url_filename_here) as url_file:
lines = url_file.readlines()
#each line should contain a different url
for line in lines:
    article = g.extract(url=line)
    #do_more_stuff

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多