首页 新闻 会员 周边 捐助

Python怎么爬取一个需要登录后再换到别的网页爬取数据?

0
悬赏园豆:20 [已解决问题] 解决于 2017-10-10 16:57
 1 # coding=utf-8
 2 import requests
 3 from http.cookiejar import CookieJar
 4 s = requests.session()
 5 s.cookies = CookieJar()
 6 print(s.cookies)
 7 url = "http://family.fanxing.com/admin?/post"
 8 userheadrs = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"}
 9 params = {}
10 params['adminName'] = "666"
11 params['password'] = "666"
12 response = s.post(url,data=params,headers=userheadrs)
13 url1 = "http://family.fanxing.com/admin?act=sumStarDataList"
14 a = s.get(url1,cookies=response.cookies)
15 print(a.text)

第12行确实能够打开这个页面,但是保存cookie以后再打开14行就又回到登录界面了,找了好多还是不会操作,求大神指点。

海胆的主页 海胆 | 初学一级 | 园豆:2
提问于:2017-10-10 15:58
< >
分享
最佳答案
0

已经搞定了,我是第7行的ulr写错了,应该是http://family.fanxing.com/admin?act=login,没有登录,所以cookie没有保存成功,然后就没办法执行后面的了...谢谢啦~

海胆 | 初学一级 |园豆:2 | 2017-10-10 16:56
其他回答(2)
0

跳转到登录页面说明你拿去登录的cookie没对,要你重新登录

你把14行的cookies=response.cookies删掉试试

理论上你要用的是s.cookies

还有,你12行的请求带了headers后面的也带一下吧

收获园豆:10
Masako | 园豆:1893 (小虾三级) | 2017-10-10 16:50

已经搞定了,我是第7行的ulr写错了,应该是http://family.fanxing.com/admin?act=login,没有登录,所以cookie没有保存成功,然后就没办法执行后面的了...谢谢啦~

支持(0) 反对(0) 海胆 | 园豆:2 (初学一级) | 2017-10-10 16:55

@海胆: 加油

支持(0) 反对(0) Masako | 园豆:1893 (小虾三级) | 2017-10-10 16:56
0

就是cookie问题,我之前做的也有这样的问题,你网上百度一个获取有效cookie的方法,就可以了,或者自己写一个

收获园豆:10
skateweb | 园豆:170 (初学一级) | 2017-10-10 16:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册