Scrapy用Cookie实现模拟登录】的更多相关文章

模拟登录是爬取某些站点内容的一个关键,有些网站(特别是论坛类),不登录的话,一个数据也拿不到. 模拟登录有这样几个关键: 弄清楚登录的url一些网站打开出现登录的页面,地址栏大多数不是登录提交表单的url. 提交登录表单的字段登录页面的url和登录表彰的字段名获取的方式有两种:1) 分析页面源代码,找到表单标签及属性.适应比较简单的页面,或者对网页代码,js非常熟悉.2) 采用抓包工具,查看提交的url和参数,如Chrome的开发者工具中的Network, Fiddler等.这种方式简单粗暴.快…
功能点:如何发送携带cookie访问登录后的页面,如何发送post请求登录 爬取网站:bilibili.github 完整代码:https://files.cnblogs.com/files/bookwed/login.zip 主要代码: bili.py # -*- coding: utf-8 -*- import scrapy import re class BiliSpider(scrapy.Spider): """直接携带cookie访问登录后的bilibili页面&q…
0.思路 如果懒得模拟登录,或者模拟登录过于复杂(多步交互或复杂验证码)则人工登录后手动复制cookie(或者代码读取浏览器cookie),缺点是容易过期. 如果登录是简单的提交表单,代码第一步模拟登录,第二步通过cookiejar访问目标url. 1.参考 python处理cookie详解 李劼杰的博客 Python使用Cookie字符串发起HTTP请求的几个方法(1) Python使用Cookie字符串发起HTTP请求的几个方法(2) Python使用Chrome浏览器的Cookies发起H…
思路 1.首先在网页中使用账户和密码名登录慕课网 2.其次再分析请求头,如下图所示,获取到请求URL,并提取出cookie信息,保存到本地 3.最后在代码中构造请求头,使用urllib.request发送包含cookie信息的请求 源码 # !/usr/bin/env python # -*- coding:utf-8 -*- """ 使用Cokie模拟登录 """ import urllib.request url="http://w…
背景:使用cookie模拟登录豆瓣->我的豆瓣网页 [准备工作] 1.通过Fiddler抓取“我的豆瓣”url: 2.通过Fiddler抓取“我的豆瓣”cookie值. import urllib3 import requests urllib3.disable_warnings() # Fiddler抓取到的URL和Cookie值 url = "https://www.douban.com/people/xxxxxx/" Cookie = 'll="118282&qu…
cURL 是一个功能强大的PHP库,使用PHP的cURL库可以简单和有效地抓取网页并采集内容,设置cookie完成模拟登录网页,curl提供了丰富的函数,开发者可以从PHP手册中获取更多关于cURL信息.本文以模拟登录开源中国(oschina)为例,和大家分享cURL的使用. PHP的curl()在抓取网页的效率方面是比较高的,而且支持多线程,而file_get_contents()效率就要稍低些,当然,使用curl时需要开启下curl扩展. 代码实战 先来看登录部分的代码: //模拟登录 fu…
环境:Win7 64位+VC2008 软件及源码下载:(http://pan.baidu.com/s/1jGE52pK) 涉及到的知识点: C++多线程编程 libcurl的使用(包括发送http请求.发送cookie给服务器.保存cookie) 关于libcurl的资料,推荐大家参考下官方文档:http://curl.haxx.se/libcurl/c/example.html 软件运行结果 libcurl中的所有函数 curl_easy_cleanup  curl_easy_duphandl…
Cookies与保持登录(新浪微博的简单登录) .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB","STHeiti","Microsoft YaHei","WenQuanYi Micro Hei",SimSun,Song,sans-serif;} .note-content h2 {line-height: 1.6;…
软件及源码下载:(http://pan.baidu.com/s/1jGE52pK) 涉及到的知识点: C++多线程编程 libcurl的使用(包括发送http请求.发送cookie给服务器.保存cookie) 关于libcurl的资料,推荐大家参考下官方文档:http://curl.haxx.se/libcurl/c/example.html 软件运行结果 libcurl中的所有函数 curl_easy_cleanup  curl_easy_duphandle curl_easy_escape …
cURL 是一个功能强大的PHP库,使用PHP的cURL库可以简单和有效地抓取网页并采集内容,设置cookie完成模拟登录网页,curl提供了丰富的函数,开发者可以从PHP手册中获取更多关于cURL信息. 此方式模拟的是form表单的提交,对于模拟ajax表单的提交还没有尝试. <?php //模拟登录 function login_post($url, $cookie, $post) { $curl = curl_init();//初始化curl模块 curl_setopt($curl, CU…
cURL 是一个功能强大的PHP库,使用PHP的cURL库可以简单和有效地抓取网页并采集内容,设置cookie完成模拟登录网页,curl提供了丰富的函数,开发者可以从PHP手册中获取更多关于cURL信息.本文以模拟登录开源中国(oschina)为例,和大家分享cURL的使用. PHP的curl()在抓取网页的效率方面是比较高的,而且支持多线程,而file_get_contents()效率就要稍低些,当然,使用curl时需要开启下curl扩展. 代码实战 先来看登录部分的代码: //模拟登录 fu…
Update: 如果只是写个小爬虫,访问需要登录的页面,采用填入cookie 的方法吧,简单粗暴有效,详细见:http://www.douban.com/note/264976536/模拟登陆有时需要了解js 加密(散列)方法,输入验证法等,同一段代码很难一直有效. 正文: PC 登录新浪微博时, 在客户端用js预先对用户名.密码都进行了加密, 而且在POST之前会GET 一组参数,这也将作为POST_DATA 的一部分. 这样, 就不能用通常的那种简单方法来模拟POST 登录( 比如 人人网…
Scrapy中使用cookie免于验证登录和模拟登录 引言 python爬虫我认为最困难的问题一个是ip代理,另外一个就是模拟登录了,更操蛋的就是模拟登录了之后还有验证码,真的是不让人省心,不过既然有了反爬虫,那么就有反反爬虫的策略,这里就先介绍一个cookie模拟登陆,后续还有seleminum+phantomjs模拟浏览器登录的文章.还不知道cookie是什么朋友们,可以点击这里 cookie提取方法: 打开谷歌浏览器或者火狐浏览器,如果是谷歌浏览器的按F12这个键就会跳出来浏览器控制台,然…
http://blog.csdn.net/pipisorry/article/details/47008981 这篇文章是介绍使用scrapy模拟登录微博,并爬取微博相关内容.关于登录流程为嘛如此设置,请参考[微博登录过程分析]. 截包分析 下载软件Fiddler for .NET2查看相关登录流程信息.运行python程序访问和直接在浏览器中刷新页面都可以在fiddler中找到网络包的相关信息. Note: fiddler是抓包用的,是独立的工具.类似这种前端登录动作,也可以用casperjs…
注意:模拟登陆时,必须保证settings.py里的 COOKIES_ENABLED (Cookies中间件) 处于开启状态 COOKIES_ENABLED = True或 # COOKIES_ENABLED = False 策略一:直接POST数据(比如需要登陆的账户信息) # -*- coding: utf-8 -*- import scrapy class Renren1Spider(scrapy.Spider): name = "renren1" allowed_domains…
这篇文章将讲解如何爬取知乎上面的问答数据. 首先,我们需要知道,想要爬取知乎上面的数据,第一步肯定是登录,所以我们先介绍一下模拟登录: 先说一下我的思路: 1.首先我们需要控制登录的入口,重写start_requests方法.来控制到这个入口之后,使用callback回调函数来调用login函数. 2.在login函数中通过response.text获取到该页面的HTML代码,通过正则表达式提取到登录必需的xsrf值. 3.下面就是获取验证码了,这是一个难点,首先我们先观察在请求验证码时的url…
携带cookie模拟登录 需要在爬虫里面自定义一个start_requests()的函数 里面的内容: def start_requests(self): cookies = '真实有效的cookie' yield scrapy.Request( self.start_urls[0], callback = self.paese, cookies = cookies ) 下载中间件 只需在文件最下面定义自己的中间件即可 下载中间键里可以做很多内容:携带登录信息,设置user-agent,添加代理…
1. scrapy有三种方法模拟登陆 1.1直接携带cookies 1.2找url地址,发送post请求存储cookie 1.3找到对应的form表单,自动解析input标签,自动解析post请求的url地址,自动带上数据,自动发送请求 2. scrapy携带cookies直接获取需要登陆后的页面 2.1 应用场景 2.1.1cookie过期时间很长,常见于一些不规范的网站 2.1.2能在cookie过期之前把搜有的数据拿到 2.1.3配合其他程序使用,比如其使用selenium把登陆之后的co…
scrapy模拟登录 注意:模拟登陆时,必须保证settings.py里的COOKIES_ENABLED(Cookies中间件) 处于开启状态 COOKIES_ENABLED = True 或# COOKIES_ENABLED = False 策略一:直接POST数据(比如需要登陆的账户信息) 只要是需要提供post数据的,就可以用这种方法.下面示例里post的数据是账户密码: 可以使用yield scrapy.FormRequest(url, formdata, callback)方法发送PO…
cURL是什么 cURL: http://php.net/manual/zh/book.curl.php PHP 支持 Daniel Stenberg 创建的 libcurl 库,能够连接通讯各种服务器.使用各种协议.libcurl 目前支持的协议有 http.https.ftp.gopher.telnet.dict.file.ldap. libcurl 同时支持 HTTPS 证书.HTTP POST.HTTP PUT. FTP 上传(也能通过 PHP 的 FTP 扩展完成).HTTP 基于表单…
package Step1; import org.apache.commons.httpclient.Cookie; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.NameValuePair; import org.apache.commons.httpclient.cookie.CookiePolicy; import org.apache.commons.httpc…
要提取google搜索的部分数据,发现google对于软件抓取它的数据屏蔽的厉害,以前伪造下 USER-AGENT 就可以抓数据,但是现在却不行了.利用抓包数据发现,Google 判断了 cookies,当你没有cookies的时候,直接 返回 302 跳转,而且是连续几十个302跳转,根本抓不了数据. 因此,在发送搜索命令时,需要先提取 cookies 并保存,然后利用保存下来的这个cookies再次发送搜索命令即可正常抓数据了.这其实和论坛的模拟登录一个道理,先POST登录,获取cookie…
关键字:CURL Cookie CURLOPT_COOKIEJAR CURLOPT_COOKIEFILE 模拟登录 PHP作者:方倍工作室原文:http://www.cnblogs.com/txw1958/p/php-cookie-login.html 一.定义Cookie存储路径 必须使用绝对路径 $cookie_jar = dirname(__FILE__)."/pic.cookie"; 二.获取Cookie 将cookie存入文件 $url = "http://1.2.…
要提取google搜索的部分数据,发现google对于软件抓取它的数据屏蔽的厉害,以前伪造下 USER-AGENT 就可以抓数据,但是现在却不行了.利用抓包数据发现,Google 判断了 cookies,当你没有cookies的时候,直接返回 302 跳转,而且是连续几十个302跳转,根本抓不了数据. 因此,在发送搜索命令时,需要先提取 cookies 并保存,然后利用保存下来的这个cookies再次发送搜索命令即可正常抓数据了.这其实和论坛的模拟登录一个道理,先POST登录,获取cookies…
最近有个好友让我帮忙爬取个小说,这个小说是前三十章直接可读,后面章节需要充值VIP可见.所以就需要利用VIP账户登录后,构造Cookie,再用Python的获取每章节的url,得到内容后再使用 PyQuery 解析内容. 注意:构造Cookie的过程中,需要你在 Chrome/Firefox 登录,然后自己在控制台查看 cookie,然后手动加入. 第一部分:手动构造cookie登录 #version 2.7 #!/usr/bin/python import HTMLParser import…
利用HttpWebRequest和HttpWebResponse获取Cookie并实现模拟登录 tring cookie = response.Headers.Get("Set-Cookie"); 通常在响应的头信息里就包含了Cookie,它就是Set-Cookie的值.如果想要知道HTTP的头信息有哪些,可以在谷歌浏览器中按F12进行查看,但记得,要想捕捉这些信息,必须在未登录前就按F12,否则谷歌浏览器是不会跟踪这些信息的.       然后我们就可以利用该Cookie登录网站并且…
闲来无事,写一个模拟登录知乎的小demo. 分析网页发现:登录需要的手机号,密码,_xsrf参数,验证码 实现思路: 1.获取验证码 2.获取_xsrf 参数 3.携带参数,请求登录 验证码url : "https://www.zhihu.com/captcha.gif?r={t}&type=login&lang=en".format(t=t)  # t 为时间戳 登录界面url : "https://www.zhihu.com/#signin" 手…
Python3之利用Cookie模拟登录 利用Cookie模拟登录步骤: 1.       在浏览器输入http://demo.bxcker.com,输入用户名和密码登录. 2.登录成功点"客户管理"模块. 3. 进入客户管理模块,显示客户列表. 4.通过抓包工具抓取客户列表,得到登录后的Cookie信息. GET http://demo.bxcker.com/customer/index.shtml HTTP/1.1 Host: demo.bxcker.com Connection:…
1.参考 https://doc.scrapy.org/en/latest/topics/spiders.html#scrapy.spiders.Spider.start_requests 自动提交 login.php 返回表单 https://doc.scrapy.org/en/latest/topics/request-response.html#using-formrequest-from-response-to-simulate-a-user-login 2.模拟登录雪球 # -*- c…
这几天一直在研究新浪微博的爬虫,发现爬取微博的数据首先要登录.本来打算是通过账号和密码模拟浏览器登录.但是现在微博的登录机制比较复杂.通过账号密码还没有登录成功QAQ.所以就先记录下,通过cookie直接访问自己的微博主页. 微博登录的认证过程 微博登录的细节在其他的博客里已经有了详细的介绍.大概就是用户输入账号和密码后与服务器产生几次会话.若认证成功后,微博的服务器会返回给浏览器一个cookie.在之后访问微博的其他内容时,通过发送这个cookie就能正常访问微博了.所以用过cookie访问微…