python模拟登陆遇到重定向_python – scrapy模拟登陆知乎出现重定向无法登陆问题

当我使用scrapy想进行模拟登陆, 然后抓取首页的问题和答案时, 一直显示重定向问题 pythonfrom scrapy.contrib.spiders import CrawlSpider, Rulefrom scrapy.selector import Selectorfrom scrapy.contrib.linkextractors.sgml import SgmlLinkExtractorfrom scrapy.http import Request, FormRequestfrom zhihu.items import ZhihuItemclass ZhihuSipder(CrawlSpider) :

name = “zhihu”

allowed_domains = [“www.zhihu.com”]

start_urls = [

“http://www.zhihu.com”

rules = (

Rule(SgmlLinkExtractor(allow = r’http://www.zhihu.com/question/\d+’), callback = ‘parse_page’),

def start_requests(self):

return [Request(“https://www.zhihu.com/login”, callback = self.post_login)]

FormRequeset出问题了

def post_login(self, response):

print ‘Preparing login’

xsrf = Selector(response).xpath(‘//input[@name=”_xsrf”]/@value’).extract()[0]

print xsrf

return [FormRequest.from_response(response,

“http://www.zhihu.com/login”,

formdata = {

‘_xsrf’: xsrf,

’email’: ‘@qq.com’,

‘password’: ‘123456’,

‘rememberme’: ‘y’,

callback = self.parse_page

def parse_page(self, response):

problem = Selector(response)

item = ZhihuItem()

item[‘url’] = response.url

item[‘title’] = problem.xpath(‘//h2[@class=”zm-item-title zm-editable-content”]/text()’).extract()

item[‘description’] = problem.xpath(‘//div[@class=”zm-editable-content”]/text()’).extract()

item[‘answer’]= problem.xpath(‘//div[@class=” zm-editable-content clearfix”]/text()’).extract()

return item 使用命令运行爬虫, 可以正确打印xsrf, 但无法成功登陆 $ scrapy crawl zhihu错误结果如下2014-12-18 14:45:11+0800 [zhihu] INFO: Spider opened2014-12-18 14:45:11+0800 [zhihu] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)2014-12-18 14:45:11+0800 [scrapy] DEBUG: Telnet console listening on 127.0.0.1:60232014-12-18 14:45:11+0800 [scrapy] DEBUG: Web service listening on 127.0.0.1:60802014-12-18 14:45:11+0800 [zhihu] DEBUG: Redirecting (301) to from 2014-12-18 14:45:11+0800 [zhihu] DEBUG: Redirecting (302) to from 2014-12-18 14:45:12+0800 [zhihu] DEBUG: Crawled (200) (referer: None)Preparing logind117e46de0dcc5e8ee2f0c7031fcafe92014-12-18 14:45:12+0800 [zhihu] DEBUG: Redirecting (302) to from 2014-12-18 14:45:12+0800 [zhihu] DEBUG: Filtered duplicate request: – no more duplicates will be shown (see DUPEFILTER_DEBUG to show all duplicates)2014-12-18 14:45:12+0800 [zhihu] INFO: Closing spider (finished)2014-12-18 14:45:12+0800 [zhihu] INFO: Dumping Scrapy stats: 希望得到解答, 为什么不能成功登陆, 非常疑惑, 非常感谢 , 上面其实已经成功登录, 后来自己测试过了, 只不过没有调用一个抓取页面url的函数, 实际上已经登录了, 在 parse_page 方法里面添加一句 print response.body 把返回的 body 复制到一个 html 文件中, 用浏览器打开,就知道了。

Original: https://blog.csdn.net/weixin_34588509/article/details/113671923
Author: 张观鱼
Title: python模拟登陆遇到重定向_python – scrapy模拟登陆知乎出现重定向无法登陆问题

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/791708/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 命令查询职责分离 – CQRS

    概念 CQRS是一种与领域驱动设计和事件溯源相关的架构模式, 它的全称是Command Query Responsibility Segregation, 又叫命令查询职责分离, …

    Python 2023年10月13日
    049
  • 聊聊运营活动的设计与实现逻辑

    产品留不住,唯有套路得用户; 一、业务背景 在多数的产品功能体系中,都会设计活动板块,活动作为运营的手段,根本目的是为了更好的连接产品和用户,所以很考验运营方案的策划,在活动的生命…

    Python 2023年10月18日
    060
  • vpython 贞测碰撞_如何使用Pygame的sprite_collide_mask方法检测碰撞方向?

    我认为最好借助物理库Pymunk创建一个台球游戏。开始可能有点困难,但是你不必自己去实现物理。在 我这里有一个例子,只是为了演示代码的外观。你必须熟悉图书馆才能了解一切。(用WAS…

    Python 2023年9月21日
    055
  • cannot import name ‘x‘ from partially initialized module ‘x‘ (most likely due to a circular import)

    问题 在使用flask+celery+blueprint时,总是报重复引入circular importcannot import name ‘create_app&#…

    Python 2023年8月9日
    055
  • 商户异常下单之休眠启用检测

    无论B端还是C端,当客户长期休眠后突然动用贷款或赊销额度,都需要予以预警并分析交易的真实性。通过python分析客户在不同休眠时长下的启用情况。 整体思路首先是生成下单间隔天数,并…

    Python 2023年8月9日
    040
  • Mysql-关系型数据库与非关系型数据库

    一、什么是数据库 数据库是数据的仓库。 与普通的”数据仓库”不同的是,数据库依据”数据结构”来组织数据,因为”数据结构&…

    Python 2023年6月9日
    057
  • 已解决IndexError: list index out of range

    已解决(Python爬虫遍历列表报错)IndexError: list index out of range 文章目录 报错代码 报错翻译 报错原因 解决方法 千人全栈VIP答疑群…

    Python 2023年8月1日
    068
  • 碰撞检测技术介绍

    自动驾驶决策规划模块中会经常使用到碰撞检测计算分析Ego vehicle行为的安全性,并且可以用在planning计算的多个方面。例如下图中第一幅图,黄色车辆为主车,灰色车辆为交通…

    Python 2023年9月28日
    053
  • Spring Boot框架下实现Excel服务端导入导出

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定…

    Python 2023年10月15日
    042
  • Tomcat安装与配置(详细教程)

    一、安装Tomcat服务器 1.下载地址(Tomcat官网)http://tomcat.apache.org/ 2.将下载的zip文件解压到指定的目录(例如:D盘,目录不要有中文)…

    Python 2023年11月7日
    037
  • Thrift RPC改进—更加准确的超时管理

    前言: 之前我们组内部使用Thrift搭建了一个小型的RPC框架,具体的实现细节可以参考我之前的一篇技术文章:https://www.cnblogs.com/kaiblog/p/9…

    Python 2023年10月22日
    033
  • 计算机网络–物理层

    物理层 物理层的基本概念 传输媒体 物理层协议的主要任务 传播方式 编码与调制 码元 常用编码 调制方法 基本调制 混合调制 信道极限容量 奈氏准则 香农公式 物理层的基本概念 导…

    Python 2023年6月3日
    0111
  • python静态方法、实例方法、类方法使用

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、静态方法 二、实例方法 二、类方法 四、完整代码 总结 前言 日常脚本编写过程中时常会用到py…

    Python 2023年8月2日
    052
  • python实现AES加密

    1.AES加密 2.需要导入的模块 3.定义好全局变量 4.编写加密函数 5.将密文解密 6.完整代码 1.AES加密 AES的区块长度固定为128 比特,密钥长度则可以是128,…

    Python 2023年8月2日
    063
  • 使用Jupyter记事本记录和制作.NET可视化笔记

    前言:对于记录笔记的工具特别多,不过对于程序员来说,记录笔记+程序代码+运行结果演示可以同时存在,无疑会极大增加我们的笔记的可读性和体验感。以前在写python的时候,使用jupy…

    Python 2023年10月15日
    041
  • 【爬虫作业】使用scrapy批量爬取头像,并通过redis进行去重

    前情提要 小伙伴们期待已久的爬虫作业栏目,终于又更新啦。本次的程序,是自动设置头像的爬虫程序的一种升级应用版本,基本的思路是,通过遍历用户头像,就可以保存大量的头像了 至于保存到哪…

    Python 2023年10月1日
    058
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球