最佳登录站点爬取方法是什么?

2024-10-01 15:38:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我要从一个网站自动下载文件(类似于,假设,yahoomail.com网站). 为了到达一个有这个文件下载链接的页面,我必须登录,从一个页面跳到另一个页面提供一些参数,比如日期等,最后点击下载链接。在

我想到了三种方法:

  1. 使用WatIN开发一个windows服务,该服务定期执行一些WatIN代码来遍历页面并下载文件。

  2. 使用AutoIT(不太清楚)

  3. 使用简单的HTML解析技术(这里有几个问题,例如,如何在登录后维护会话?如何在完成后注销?


Tags: 文件方法代码com参数网站链接windows
3条回答

我使用scrapy.org,这是一个python库。其实很安静很好。很容易编写spider,而且它的功能非常广泛。软件包中提供了登录后的抓取站点。在

下面是一个spider的示例,它将在身份验证后对站点进行爬网。在

class LoginSpider(BaseSpider):
    domain_name = 'example.com'
    start_urls = ['http://www.example.com/users/login.php']

    def parse(self, response):
        return [FormRequest.from_response(response,
                formdata={'username': 'john', 'password': 'secret'},
                callback=self.after_login)]

    def after_login(self, response):
        # check login succeed before going on
        if "authentication failed" in response.body:
            self.log("Login failed", level=log.ERROR)
            return

        # continue scraping with authenticated session...

我在Python中使用了mechanize并成功地完成了一些事情。它易于使用,并支持HTTP身份验证、表单处理、cookies、自动HTTP重定向(30X)。。。基本上,唯一缺少的就是JavaScript,但是如果你需要依赖JS,那么无论如何,你都是完蛋了。在

{{a1}自动}使用^ a1脚本。在

相关问题 更多 >

    热门问题