最近在用scrapy重写以前的爬虫,由于豆瓣的某些信息要登录后才有权限查看,故要实现登录功能.豆瓣登录偶尔需要输入验证码,这个在以前写的爬虫里解决了验证码的问题,所以只要搞清楚scrapy怎么提交表单什么的就OK了.从网上找了点资料,说要重写CrawlSpider的start_requests,在重写的函数里发个request,在其回调函数里提交表单.至于request是啥,参考scrapy文档(中文版:http://scrapy-chs.readthedocs.io/zh_CN/latest/…
先配置登录接口请求 登录成功后: 再其它请求中设置…
这个实例还是值得多次看的 其流程图如下,还是有一点绕的. 总结: 1 Requst(rul=' xxx ',callback= ' '),仅仅发起 某个网页 的访问请求,没啥了.剩下的交给回调函数 2 parse_().对 某个页面 经过下载后的 数据 进行处理,包括逻辑判断,有可能比较复杂,提取想要的数据等等.最终,返回item,或 Request对象,也可以两者都返回. 有的回调函数返回一个request对象,这个request对象调用本身这个回调函数.如:判断是否有下一页的情况就可以写成递…
2017-10-09 19:06:22 版权声明:本文为博主原创文章,未经博主允许不得转载. 前言: 先获得cookie,然后自动登录豆瓣和新浪微博 系统环境: 64位win10系统,同时装python2.7和python3.6两个版本(本次使用python3.6),IDE为pycharm,浏览器为chorme,使用的python第三方库为requests 查看cookie: 首先登陆豆瓣首页,并且登录账户(注意练习爬虫时最好用小号),右键检查,点击Network,然后按Fn+F5刷新页面,点击…
简述 本文仅记录如标题所述场景的测试所得,由于场景有些特殊,且并不需兼容所有浏览器,所以本文的内容对读者也许并无作用,仅为记录. 场景.与实现 需在移动端单点登录 需在移动端跨域访问我们的服务 基于历史原因: 单点登录验证后,如Web网站一样,用Cookie携带SessionID到服务器,服务器根据SessionID管理该用户会话.权限 跨域用CORS,在服务端和客户端有如下设置. 服务端响应: httpResponse.setHeader("Access-Control-Allow-Origi…
问题详情: 1.接口调用需要前提状态:登录状态(cookie) 2.接口请求需要签名,签名规则为:MD5(TokenKey+apikey+timestamp+nonc) 其中 1.TokenKey.apikey为接口构造方提供(永久不变): 2.nonc为随机数,自定义 3.timestamp 为 时间戳(百度百科) 对应解决办法: 1.登录获取cookie: 登录接口 meiad type :application/x-www-form-urlencoded; charset=UTF-8 获取…
过滤器Filter 学习目标 案例-自动登录 案例-解决全局的编码 一.过滤器Filter 1.filter的简介 filter是对客户端访问资源的过滤,符合条件放行,不符合条件不放行,并且可以对目标资源访问前后进行逻辑处理. 2.快速入门 步骤: 1)编写一个过滤器的类实现Filter接口 2)实现接口中尚未实现的方法(着重实现doFilter方法) 3)在web.xml中进行配置(主要是配置要对哪些资源进行过滤) 3.Filter的API详解 (1)filter生命周期及其与生命周期相关的方…
因为现在很多网站为了限制爬虫,设置了为只有登录才能看更多的内容,不登录只能看到部分内容,这也是一种反爬虫的手段,所以这个文章通过模拟登录知乎来作为例子,演示如何通过scrapy登录知乎 在通过scrapy登录知乎之前,我们先通过requests模块登录知乎,来熟悉这个登录过程 不过在这之前需要了解的知识有: cookie和session关于cookie和session我之前整理了一篇博客供参考:http://www.cnblogs.com/zhaof/p/7211253.htmlrequests…
Request Request 部分源码: # 部分代码 class Request(object_ref): def __init__(self, url, callback=None, method='GET', headers=None, body=None, cookies=None, meta=None, encoding=, dont_filter=False, errback=None): self._encoding = encoding # this one has to be…
因为现在很多网站为了限制爬虫,设置了为只有登录才能看更多的内容,不登录只能看到部分内容,这也是一种反爬虫的手段,所以这个文章通过模拟登录知乎来作为例子,演示如何通过scrapy登录知乎 在通过scrapy登录知乎之前,我们先通过requests模块登录知乎,来熟悉这个登录过程 不过在这之前需要了解的知识有: cookie和session关于cookie和session我之前整理了一篇博客供参考:http://www.cnblogs.com/zhaof/p/7211253.htmlrequests…
问题 我打开了 www.aaa.com 里面的一个页面(www.aaa.com/hello.php),其中这个 hello.php 里面包含一个 <img> 标签,里面的 src 来自于 www.bbb.com/get.php.请问如果我已经在 aaa.com 里面登录了,那么访问 hello.php 时会不会把 cookie 发送给 www.bbb.com/get.php ? 实战 没有什么比实战测试更有说服力了! 新建 2 个独立的站点 A,B  , 分别对应域名 aaa.com , bb…
摘要:介绍了使用Scrapy登录简单网站的流程,不涉及验证码破解 简单登录 很多时候,你都会发现你需要爬取数据的网站都有一个登录机制,大多数情况下,都要求你输入正确的用户名和密码.现在就模拟这种情况,在浏览器打开网页:http://127.0.0.1:9312/dynamic,首先打开调试器,然后点击Elements标签,查看登录表单的源代码 再点击Network标签,然后在用户名框里输入user,在密码框里输入pass,再点击login按钮 点击调试器里的login页面,观察下面的情况 点击调…
学习了urllib.urllib2及cookielib常用方法的使用登录豆瓣,由于有验证码,采取的办法是将验证码图片下载到同目录下,查看图片后输入验证码即可登录.发帖帖子内容写死在代码中了 [Python]代码 # -- coding:gbk --import sys, time, os, reimport urllib, urllib2, cookielib loginurl = 'https://www.douban.com/accounts/login'cookie = cookielib…
上一篇我们讲过Cookie相关的知识,了解到Cookie是为了交互式web而诞生的,它主要用于以下三个方面: 会话状态管理(如用户登录状态.购物车.游戏分数或其它需要记录的信息) 个性化设置(如用户自定义设置.主题等) 浏览器行为跟踪(如跟踪分析用户行为等) 我们今天就用requests库来登录豆瓣然后爬取影评为例子,用代码讲解下Cookie的会话状态管理(登录)功能. 此教程仅用于学习,不得商业获利!如有侵害任何公司利益,请告知删除! 一.需求背景 之前猪哥带大家爬取了优酷的弹幕并生成词云图片…
登录流程: 实例化一个driver,然后driver.get()发送请求 最重要的:切换iframe子框架,因为豆瓣的网页中的登录那部分是一个ifrme,必须切换才能寻找到对应元素 利用selenium切换到账号密码登录 利用selenium输入账户和密码 利用selenium点击登录按钮 然后利用字典推导式保存了一下cookie 代码实现: import time from selenium import webdriver # 实例化driver driver = webdriver.Chr…
一.前言 随着项目模块越来越多,很多模块现在都是独立部署.模块之间的交流有时可能会通过cookie来完成.比如说门户和应用,分别部署在不同的机器或者web容器中,假如用户登陆之后会在浏览器客户端写入cookie(记录着用户上下文信息),应用想要获取门户下的cookie,这就产生了cookie跨域的问题. 二.介绍一下cookie cookie 路径: cookie 一般都是由于用户访问页面而被创建的,可是并不是只有在创建 cookie 的页面才可以访问这个cookie.在默认情况下,出于安全方面…
用户 NT AUTHORITY\NETWORK SERVICE 登录失败 解决方法 (MS SQL 2005) Windows server 2003,2008 Web.Config 配置连接sql 使用 win身份验证时: 当连接sql server使用信任连接(参看Web.Config文件)时就会出这个错误,在Windows XP当中,ASP.NET的运行帐号是ASPNET,而在Windows server 2003,2008号则改为了Network Service,直接把这个用户加到sql…
COOKIE介绍 cookie 常用于识别用户.cookie 是服务器留在用户计算机中的小文件.每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie.通过 PHP,您能够创建并取回 cookie 的值. 1.设置Cookie PHP用SetCookie函数来设置Cookie. SetCookie函数定义了一个Cookie,并且把它附加在HTTP头的后面,SetCookie函数的原型如下: int SetCookie(string name, string value, int exp…
Android使用WebView加载登录的html界面,则通过登录成功获取Cookie并同步,可以是下一次不用登录也可以查看到个人信息,注:如果初始化加载登录,可通过缓存Cookie信息来验证是否要加载登录界面.Cookie信息包含了你登录的信息,打印是是这种格式 如下图: 包含各种编码,16进制等,可通过转码查看信息(包含当前城市,IP,个人相关信息等),转码后如图: 项目效果图: 代码: public class MainActivity extends Activity { public…
前面了解了scrapy框架的大概各个组件的作用, 现在要爬取知乎数据,那么第一步就是要登录! 看下知乎的登录页面发现登录主要是两大接口 一: 登录页面地址,获取登录需要的验证码,如下图 打开知乎登录页面,需要输入用户名和密码, 还有一个验证码, 看chrome 调试工具发现验证码是这个地址返回的: https://www.zhihu.com/api/v3/oauth/captcha?lang=en 返回的结果中用base64加密了, 我们需要手动解密 二: 知乎登录接口 登录接口就是点击登录按钮…
v一.前言 随着项目模块越来越多,很多模块现在都是独立部署.模块之间的交流有时可能会通过cookie来完成.比如说门户和应用,分别部署在不同的机器或者web容器中,假如用户登陆之后会在浏览器客户端写入cookie(记录着用户上下文信息),应用想要获取门户下的cookie,这就产生了cookie跨域的问题. v二.介绍一下cookie v cookie 路径: cookie 一般都是由于用户访问页面而被创建的,可是并不是只有在创建 cookie 的页面才可以访问这个cookie.在默认情况下,出于…
Foxmail 登录 qq 账号时无法登录  提示我们设置了独立密码或使用授权码登录的解决方法 1.首先我们设置我们邮箱的类型如下图所示 2.打开网页版的qq邮箱  在设置--->账户--->服务下面生成授权码即可当做密码登录 3.生成授权码  用授权码即可登录…
我的Android进阶之旅-->如何解决Android 5.0中出现的警告: java.lang.IllegalArgumentException: Service Intent must be explicit: Intent { act=com.xtc.kuwo.watch.MUSIC_PLAY_SERVICE (has extras) } 1.错误描述 今天在Android4.4 的小米4手机上运行我的程序的时候没有报错,而在Android 5.1的华为P7上运行我的程序的时候报了以下的错…
NT AUTHORITY\IUSR登录失败解决方法 1 今天打开网站时,突然报这个错误,平时都好好的 Cannot open database "aslkm" requested by the login. The login failed. Login failed for user 'NT AUTHORITY\IUSR'. 我的连接字符串是这样的,用的是 Windows 身份验证登录: data source=.\SQLEXPRESS;initial catalog=aslkm;i…
redhat图形界面启动后出现桌面但是没有登录界面解决办法 2014年07月11日 10:50:10 阅读数:7931 redhat Linux一直用着好好地,今天打开只有图像界面背景,没有出现登陆界面,界面右击也没有反应 解决办法:(1)ctrl+alt+f2进入字符界面 (2)用root用户登录,按 init  3 回车 (3)系统将默认字符界面重新登录,成功登录后,输入 startx,成功进入图形界面…
上一篇文章<单点登录(一)使用Cookie+File实现单点登录>中,我们实现了单点登录的功能. 本文作为上一篇文章的扩展部分,加入"单点登出"功能. 源代码下载:链接: http://pan.baidu.com/s/1bn57xCF password: 5apa 本例实现效果 浏览器中输入网址:main.tgb.com,后输入username:it_main(以it开头就可以)和passwordpwd_main(以pwd开头就可以),勾选"一周内自己主动登录&q…
在对网站进行接口测试的时候,很多请求往往是需要带登录的cookie才能请求成功的,一般来说,可以用抓包软件(fiddler,浏览器的F12)来查看登录后的cookie,并把它设置到postman的环境变量中. 但这未免有的麻烦,我们可以直接在Postman里发送登录请求数据包,并将服务器返回的cookie设置为环境变量,之后的请求/接口测试就可以利用这个cookie. 1. 用抓包工具分析登录请求 在演示系统里输入账号密码,点击登录,查看fiddler 响应包的Cookies一栏 红框内即为服务…
Jmeter中发送多个http请求,由于后面的请求需要登录后才能获取到数据,所以前面先要发送登录请求. 登录时会写cookie到本地,后面的请求中会读取cookie中的JSESSIONID,若后面的请求中的JSESSIONID与登录的不一致,则服务器认为是没有登录,所以发起后面的请求后会返回登录 苦苦查询最后终于发现问题所在,cookie管理器中的策略没有设置对,我配置成了RFC2109 ,后来改成Compatibility 兼容模式后,所有请求的cookie一致了,后续就可以成功了 以下Coo…
selenium模拟登录豆瓣和qq空间今天又重新学习了下selenium,模拟登录豆瓣,发现设置等待时间真的是很重要的一步,不然一直报错:selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element另外,豆瓣的主页(https://www.douban.com/)使用了iframe嵌套了登录页面:<iframe style="height: 300p…
今日内容概要 scrapy架构和目录介绍 scrapy解析数据 setting中相关配置 全站爬取cnblgos文章 存储数据 爬虫中间件和下载中间件 加代理,加header,集成selenium 内容详细 1.scrapy架构和目录介绍 # pip3 install scrapy # 创建项目:scrapy startproject cnblogs_spider 等同于django创建项目 # 创建爬虫:scrapy genspider cnblogs www.cnblogs.com 等同于创…