【问题标题】:Scrapy pagination uses javascriptScrapy 分页使用 javascript
【发布时间】:2013-12-22 12:26:09
【问题描述】:

我有一个 3 级网站,我想抓取并解析来自 2 级和 3 级的链接。问题是在第 2 级有一个 javascript 分页,它为每个页面提供不同的链接(总共 5 页) .

示例: 级别 1:主菜单(我使用 SgmlLinkExtractor catid=22767 提取类别的链接) 级别 2:有我想解析的链接,但也有 javascript 分页,我需要从中提取其余链接(即 catid=22767&page1=2) 第 3 级:对于上述步骤的每个链接,我都想解析响应。

该网站是 (http://www.ethnos.gr/) level2是(summary.asp?catid=22768) level3是我要解析的文章页面(article.asp?catid=22768&subid=2&pubid=63929343)

问题是:对于从第一级提取的每个链接,我如何创建一个循环并构造所有 5 个链接,然后在第二级使用 SgmlLinkExtractor 来跟踪这些链接?

【问题讨论】:

    标签: javascript python pagination web-crawler scrapy


    【解决方案1】:

    对此有两个答案:

    1. 通常的网站提供其网站的可抓取版本,或者您可以实现sitemap

    2. 您可以使用 selenium 之类的东西在您的浏览器中呈现页面,以便启用 JavaScript,您可以像用户一样使用它并且仍然可以抓取它。

    确保以ethical 的方式进行抓取,以免网站超载:)

    【讨论】:

    • 感谢您的评论。不幸的是,该站点不提供站点地图。基本上我的问题是如何为 SgmlLinkExtractor 提供构建的(自定义)url 而不是 start_url。也许有一种方法可以覆盖 start_requests 函数,但我不知道如何解析里面的响应。
    • @axs203dd 嗯,您可能想提供一个您想要的代码示例,或者试图获得更好的答案。你的水平有点高。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-14
    • 1970-01-01
    • 1970-01-01
    • 2021-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多