Scrapy中用cookie模拟登陆新浪微博

最近想做一个微博的搜索页文本分析的小项目,因为开放平台里这个api的限制略多,决定进入爬虫坑自己动手.

之前久闻Scrapy大名,尝试了一下,抓取网页甚是好用,避免了许多HTTP方面的繁琐处理.不过还是卡在了登陆这一步上.

一般模拟登陆有两种方式,一个是抓登陆时的包,然后模拟所需数据发送过去.由于新浪经常改参数和加密方式,这个方法费时费力.另一种就是直接发送cookie.

在Scrapy中具体实现时,就是在爬取的spider类中,重载start_requests方法,生成一个带cookie的request,后续爬取的request同样需要带上cookie.

一个爬取单个搜索结果网页并存储的简单spider代码如下:

#coding = utf-8

from scrapy.contrib.spiders import CrawlSpider
from scrapy.http import Request


class WeiboSpider(CrawlSpider):
    name = 'weibo'
    allowed_domains = ['weibo.com', 'sina.com.cn']

    def start_requests(self):
        url = 'http://s.weibo.com/weibo/'+keyword+'?page=2' #keyword为需要搜索的关键词,此处加上page=2易于测试是否成功登陆,因为搜索结果第二页未登录时是看不到的
        print url

   
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值