收集一条记录后,我的刮刀无法继续前进

时间:2017-06-11 15:03:23

标签: python-3.x selenium-webdriver web-scraping web-crawler

我创建了一个脚本,该脚本能够解析链接的主页中所有推荐标签下的每个人的个人资料名称。每次我运行我的脚本时,它只解析一个记录然后抛出错误而不是转到下一条记录。

我遇到的错误是:

%%

以下是我到目前为止编写的完整代码:

    sock.connect(sa)
ConnectionRefusedError: [WinError 10061] No connection could be made because the target machine actively refused it

1 个答案:

答案 0 :(得分:1)

让我们在这里探讨代码流:

  • 执行driver.find_elements_by_xpath("//a[contains(@class,'feed-s-follow-recommendation-card__profile-link')]")时,您将获得与个人资料链接相对应的WebElement个实例列表
  • 然后,你正在循环这些元素
  • 作为第一个元素,
    • 您首先获得href属性
    • 致电arranging_items()功能
    • 导航至个人资料链接
  • 代表第二个元素,
    • 您获得href属性值 - 但是,等等,您不再在初始页面上了 - 您已经导航到第一个个人资料页面

相反,首先收集链接,然后逐个导航到它们:

links = [item.get_attribute("href") for item in driver.find_elements_by_xpath("//a[contains(@class,'feed-s-follow-recommendation-card__profile-link')]")]

for link in links:
    arranging_items(driver, link)