您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> 其他语言 >> (python)知网文章列表爬虫,没有此用户

(python)知网文章列表爬虫,没有此用户

来源:网络整理     时间:2018/1/29 1:02:38     关键词:

关于网友提出的“ (python)知网文章列表爬虫,没有此用户”问题疑问,本网通过在网上对“ (python)知网文章列表爬虫,没有此用户”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: (python)知网文章列表爬虫,没有此用户
描述:

import requests
import time
from urllib.parse import urlencode
url='http://nvsm.cnki.net/kns/brief/brief.aspx?'
parameter={
    "pagename":"ASP.brief_default_result_aspx",
    "isinEn":"1",
    "dbPrefix":"SCDB",
    "dbCatalog":"中国学术文献网络出版总库",
    "ConfigFile":"SCDBINDEX.xml",
    "research":"off",
    "t":int(time.time()),
    "keyValue":"氯化1_甲基_3_丁基咪唑的制备与表征",
    "S":"1",
    "sorttype":"(FFD,'RANK') desc",
}
headers={
    "Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8",
    "Accept-Encoding":"gzip, deflate, sdch",
    "Accept-Language":"zh-CN,zh;q=0.8",
    "Connection":"keep-alive",
    # "Cookie":'ASP.NET_Sessi SID_kns=011101; SID=011101; KNS_SortType=SCDB%21%28FFD%252c%2527RANK%2527%29+desc;',
    "Host":"nvsm.cnki.net",
    "Referer":"http://nvsm.cnki.net/kns/brief/default_result.aspx",
    "Upgrade-Insecure-Requests":"1",
    "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36",
}
s=requests.Session()
aa=s.get('http://nvsm.cnki.net/kns/brief/default_result.aspx',headers=headers)
print(aa.cookies.keys())
search=s.get(url+urlencode(parameter),headers=headers)
print(search.text.find('沈阳'))

我把电脑浏览器里面的cookie放到headers里面,就可以获得结果,主要需要ASP.NET_Sessi SID_kns=011101。把headers里面的cookie注释了,然后用requests.session访问,通过打印cookie发现ASP.NET_SessionId是有的,但是返回的页面结果是没有此用户什么的,除了手动复制cookie,有什么办法能用request获取结果呢


解决方案1:

python不熟,难道urllib不能自己维护cookie吗?这应该是http库的基本功能之一,你文档里找找吧

解决方案2:

用session访问http://nvsm.cnki.net/kns/requ...
而不是http://nvsm.cnki.net/kns/brie...
就可以了
关于session的情况可以参考一下楼下朋友说的,很透彻


以上介绍了“ (python)知网文章列表爬虫,没有此用户”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/4537127.html

相关图片

相关文章