基友教了我一招,爬虫爬取登录后的资源不用直接上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