python 爬取需要登录资源的一种方法

基友教了我一招,爬虫爬取登录后的资源不用直接上phantom.js之流来模拟浏览器客户端。
直接把有用的cookie找出来,当做token,在爬虫发http request的时候把cookie戴上就行。

当然这个cookie先带上 ,用postman之类的工具先试试管不管用。

举个栗子:

# 这是一段scrapy代码
def start_requests(self):
        username = getattr(self, 'username', None)
        self.username = username

        # for pageNo in range(19, 20):
        for pageNo in range(1, 1501):
            urlNow = 'https://www.douban.com/people/%s/statuses?p=%s' % (
                username, pageNo)
            urlNow.format(username, pageNo)

            yield scrapy.Request(url=urlNow, callback=self.stupidParse, cookies={'bid': self.settings['BID'], 'dbcl2': self.settings['DBCL2']})

代码都在我的github上,欢迎学习交流
https://github.com/chan17/MuggleHorcrux/blob/master/MainCrawler/douban/doubanStatuses/spiders/doubanStatuses.py

猜你喜欢

转载自my.oschina.net/chan17/blog/1785305