在网络刮板中循环

时间:2019-05-29 12:35:24

标签: python postgresql web-scraping

该脚本应找到包含文章的子页面的地址,并从中收集必要的数据。数据应转到数据库。数据应通过处理HTML文档来收集。

确切应该是:1.找到10个最常见的单词及其编号。 2.找到每个作者的10个最常用的单词及其编号。 3.用作者的名字发布作者。

我还没有完成单词反击,但是目前我有两个循环(2.1、2.2),它应该进入每篇文章,并从它们和作者的名字中获取内容。

我收到这样的错误:

^T

这是我的脚本:

Date

1 个答案:

答案 0 :(得分:1)

在很多地方,您都使用上一个循环期间生成的字符串来代替当前循环变量,例如

for all_links in article_links:
        soup = bs((article), 'html.parser')

article是在较早的循环中生成的网址(很可能是错误的来源)


此外,all_links是链接列表(从列表列表中展平),现在已更改为article_links的循环变量


此时

for all_links in article:
    soup = bs(article, 'html.parser')

您正在将URL字符串传递给bs,而不是html。


当您应该继续使用现有实例时,还可以重新创建webdriver实例。


我认为您只需要一个带硒的循环就可以了

for article in all_links:

这将访问所有博客。您可以在循环中该页面上提取所需的任何内容。