点击链接可以正常访问网页,但直接访问地址就被拒绝,怎样才能在Python中用requests正常访问?

maverick432 2017-07-09 08:02:44
这个网站,从主页面
http://www.ruankao.org.cn/jsjnew/cms/
弹出菜单中点击链接可以访问子页面

主页面:


子页面:


但直接访问子页面的地址(粘贴到浏览器地址栏)
http://119.254.106.121/bdrs_rk/query/queryAction.do?method=toQueryPage&uid=100
却提示没有权限


但也不一定从主页面,从这个另一个网站的网页点击也可以正常访问
http://www.51test.net/show/8496116.html

现在我是想用Python写一个爬虫,用requests直接获取子页面的信息,不知道怎么才能做到?网站是怎样达到的这种效果?是有什么脚本对访问行为进行了验证吗?
...全文
1232 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
似梦飞花 2017-07-09
  • 打赏
  • 举报
回复
权限校验了吧?自己查查cookie referrer等信息 模仿下试试
maverick432 2017-07-09
  • 打赏
  • 举报
回复
引用 1 楼 zzgzzg00 的回复:
权限校验了吧?自己查查cookie referrer等信息 模仿下试试
多谢,果然是referrer的问题,模仿了一下就好了,初学爬虫,对前端这些东西都不了解 完成的代码:

# -*- coding: utf-8 -*-

import requests
import re

my_referer = r'http://www.ruankao.org.cn/jsjnew/cms/'
url = r'http://119.254.106.121/bdrs_rk/query/queryAction.do?method=toQueryPage&uid=100'
r = requests.get(url, headers={'referer' : my_referer})
pattern = re.compile(r'<option value=\'(.*)\'>')
result = re.findall(pattern, r.text)
if '2016年下半年' in result:
    print('获取成功')
    if '2017年上半年' in result:
        print('成绩已发布')
    else:
        print('成绩未发布')
else:
    print('获取失败')

37,718

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧