鱼C论坛

 找回密码
 立即注册
查看: 3166|回复: 5

[已解决]Python3.x request模块登录www.zmz2017.com

[复制链接]
发表于 2017-3-13 16:33:07 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
人人影视上线了,上面的资源很眼馋,但是又懒得去一个个下,想做个爬虫爬爬爬。目前卡在登录上。很忧伤,还想请教各位大神。
目前代码如下:
现在目前有点弄不清楚接下来是哪里出了问题。想求救各位大神。


import requests

login_url = 'http://www.zmz2017.com/User/Login/ajaxLogin'

login_headers = {
    'Accept':'application/json, text/javascript, */*; q=0.01',
    'Accept-Encoding':'gzip, deflate',
    'Accept-Language':'en-US,en;q=0.8,ja;q=0.6,zh-CN;q=0.4,zh-TW;q=0.2',
    'Connection':'keep-alive',
    'Content-Length':'89',
    'Content-Type':'application/x-www-form-urlencoded',
    'Host':'www.zmz2017.com',
    'Origin':'http://www.zmz2017.com',
    'Referer':'http://www.zmz2017.com/user/login',
    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36',
    'X-Requested-With':'XMLHttpRequest'}

login_data = {
    'account':'????????',
    'password':'????????',
    'remember':'1',
    'url_back':'http://www.zmz2017.com/'}

z1 = requests.post(url=login_url,data=login_data,headers=login_headers)

print(z1.status_code)

print(z1.content)

login_headers['Cookie'] = z1.headers['Set-Cookie']


mylog = 'http://www.zmz2017.com/resource/list/11057'
z2 = requests.get(url = mylog, headers=login_headers)

print(z2.status_code)

print(z2.url)
最佳答案
2017-3-13 16:49:54
哎哟,这个我昨天才爬过!
用request.post,当时是登录进去了,但是跳转页面就又变成未登录了。
用session去post,这样才能保持会话,然后在session下面去跳转页面,就可以保持登录了。
如果想要下载,再跳转进去就可以看见下载链接了。而且现在新出了一个免登录就可以看见下载链接的链接,直接请求那个,应该也可以直接获得下载链接。
然而最大的问题,其实把链接爬下来也没什么用。自己电脑里面做数据库用起来感觉也不会比在网站上面用的快。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-3-13 16:49:54 | 显示全部楼层    本楼为最佳答案   
哎哟,这个我昨天才爬过!
用request.post,当时是登录进去了,但是跳转页面就又变成未登录了。
用session去post,这样才能保持会话,然后在session下面去跳转页面,就可以保持登录了。
如果想要下载,再跳转进去就可以看见下载链接了。而且现在新出了一个免登录就可以看见下载链接的链接,直接请求那个,应该也可以直接获得下载链接。
然而最大的问题,其实把链接爬下来也没什么用。自己电脑里面做数据库用起来感觉也不会比在网站上面用的快。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-13 17:08:52 | 显示全部楼层
ooxx7788 发表于 2017-3-13 16:49
哎哟,这个我昨天才爬过!
用request.post,当时是登录进去了,但是跳转页面就又变成未登录了。
用sessio ...

请问session去post是什么意思呢?还没学到。。可以的话可以看看你的代码不~谢谢~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-13 17:11:40 | 显示全部楼层
ooxx7788 发表于 2017-3-13 16:49
哎哟,这个我昨天才爬过!
用request.post,当时是登录进去了,但是跳转页面就又变成未登录了。
用sessio ...

如果看不了的话,能给个session的文档链接么~十分感谢!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-13 19:01:18 | 显示全部楼层
本帖最后由 ooxx7788 于 2017-3-13 19:02 编辑
  1. s = requests.Session()
  2. s.post(url, data=account)
  3. r = s.get(Gethtml.DOMAIN_NAME + 'eresourcelist?page='+str(i))
复制代码


大概就是这个意思吧,简单的说,就是实例化一个session对象,然后用这个实例化对象基本就和request差不多用法。
在request的官方网站上面,高级用法里面就有。
我这个r返回回来,用r.text,就返回html了,后面就可以上正则表达式之类的搜索方法了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-14 09:03:46 | 显示全部楼层
ooxx7788 发表于 2017-3-13 19:01
大概就是这个意思吧,简单的说,就是实例化一个session对象,然后用这个实例化对象基本就和request差不 ...

十分感谢!哈哈,好多问题都是你回答的。真是太谢谢了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-26 01:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表