前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >万方数据库,文献下载的准备

万方数据库,文献下载的准备

作者头像
热心的社会主义接班人
修改2018-06-08 08:23:25
1.3K0
修改2018-06-08 08:23:25
举报
文章被收录于专栏:cscs

###后来文献下载任务完成了 ,相关的代码,细节,介绍看这篇文章 https://cloud.tencent.com/developer/article/1145304

想批量下载万方数据库的文献,看了一下其html源码不好玩啊.

其一篇文献的下载的链接.

<onclick="upload('4','hwjs201802015','chi','WF','Cs、O激活对GaAsP光阴极光谱响应特性的影响','0','perio')" id="ddownb" class="read"><i class="icon icon\\_down" title="下载"></i>下  载</a>

图片.png

js代码太多,upload()函数,我还没有找到....

onclick 事件

onclick 事件会在对象被点击时发生。

请注意, onclick 与 onmousedown 不同。单击事件是在同一元素上发生了鼠标按下事件之后又发生了鼠标放开事件时才发生的。

语法:onclick="SomeJavaScriptCode"

找到了upload函数。

代码语言:txt
复制
/*下载*/
function upload(page_cnt,id,language,source_db,title,isoa,type,resourceType){
/*  var user = $("#user").val();
    if(user == "{}"){
        getloginurl("ALL");
    }else{*/
        title=window.encodeURI(window.encodeURI(title));
        var type = $("#document_type").val();
        if(type == "standards"){
            type="standard";
        }
        window.open("/search/downLoad.do?page_cnt="+page_cnt+"&language="+language+"&resourceType="+type+"&source="+source_db+"&resourceId="+id+"&resourceTitle="+title+"&isoa="+isoa+"&type="+type);
    /*}*/
}

/*在线阅读*/
function onlineReading(page_cnt,id,language,source_db,title,isoa,type,resourceType){
/*  var user = $("#user").val();
    if(user == "{}"){
        getloginurl("ALL");
    }else{*/
        title=window.encodeURI(window.encodeURI(title));
        var type = $("#document_type").val();
        if(type == "standards"){
            type="standard";
        }
        window.open("/search/onlineread.do?page_cnt="+page_cnt+"&language="+language+"&resourceType="+type+"&source="+source_db+"&resourceId="+id+"&resourceTitle="+title+"&isoa="+isoa+"&type="+type);
    /*}*/
}

Spectral Efficiency and Power Allocation for Mixed-ADC Massive MIMO System这篇文献为列子,起下载事件为。

<a onclick="upload('16','zgtx201803009','eng','WF','Spectral Efficiency and Power Allocation for Mixed-ADC Massive MIMO System','0','perio')" id="ddownb" class="read"><i class="icon icon\\_down" title="下载"></i>下  载</a>

点击下载,获取了一个url, 好像随机生成hash值

http://f.wanfangdata.com.cn/www/Spectral+Efficiency+and+Power+Allocation+for+Mixed-ADC+Massive+MIMO+System.ashx?type=perio&resourceId=zgtx201803009&resourceTitle=Spectral%2BEfficiency%2Band%2BPower%2BAllocation%2Bfor%2BMixed-ADC%2BMassive%2BMIMO%2BSystem&transaction=%7B%22id%22%3Anull%2C%22transferOutAccountsStatus%22%3Anull%2C%22transaction%22%3A%7B%22id%22%3A%22998101496136486912%22%2C%22status%22%3A1%2C%22createDateTime%22%3Anull%2C%22payDateTime%22%3A1526800915165%2C%22authToken%22%3A%22TGT-10848458-zHl3CXey47UjQav6HqMOisw3CZqNxO6NBjA4fvtzkCQ1tXPRcu-my.wanfangdata.com.cn%22%2C%22user%22%3A%7B%22accountType%22%3A%22Group%22%2C%22key%22%3A%22hbdesf%22%7D%2C%22transferIn%22%3A%7B%22accountType%22%3A%22Income%22%2C%22key%22%3A%22PeriodicalFulltext%22%7D%2C%22transferOut%22%3A%7B%22GTimeLimit.hbdesf%22%3A3.0%7D%2C%22turnover%22%3A3.0%2C%22productDetail%22%3A%22perio_zgtx201803009%22%2C%22productTitle%22%3Anull%2C%22userIP%22%3A%22202.110.130.244%22%2C%22organName%22%3Anull%2C%22memo%22%3Anull%2C%22webTransactionRequest%22%3Anull%2C%22signature%22%3A%22I6p3Hq9DM8nnf3U1DVVw4lZcQAF1mxcJWmNcnUpeTMY5I6jkhJtlDHrujdJa6SsKqZ26E52RnHDO%5CntPqYeEFZ6laDAwSRs0U3xwr%2FU3CS7w8zuvg8XyHEym9ufvCyJElsxwP0fSq5GMI0EaNwv45SoqQ7%5CnVI1Bhel0QUD1KVa0TFQ%3D%22%2C%22delete%22%3Afalse%7D%2C%22isCache%22%3Afalse%7D

先用浏览器访问下url,如果可以得到数据,就可以使用requests的get方法,如果不能就使用post方法

万方数据库一页显示20也结果

代码语言:txt
复制
<input type="hidden" id="pSize" value="20"> 
 <!-- 分页参数 -->

搜索页的url

代码语言:txt
复制
http://www.wanfangdata.com.cn/search/searchList.do?searchType=all&showType=&searchWord=cd&isTriggerTag=

http://www.wanfangdata.com.cn/search/searchList.do?searchType=all&pageSize=20&page=2&searchWord=cd&order=correlation&showType=detail&isCheck=check&isHit=&isHitUnit=&firstAuthor=false&rangeParame=all

http://www.wanfangdata.com.cn/search/searchList.do?searchType=all&pageSize=20&page=3&searchWord=cd&order=correlation&showType=detail&isCheck=check&isHit=&isHitUnit=&firstAuthor=false&rangeParame=all

搜索的结果在strong标签中.

代码语言:txt
复制
 找到<strong>168533</strong>条结果。<br>  </div>  

根据关键字key和总结果可以构建出总url.

总共的页数已经得到了,但是js卡注了,不知道怎么生成相关的下载hrfe。已经根据这个文件,下载下来相关的pdf文档了。

urlretrieve(url, filename=None, reporthook=None, data=None)

试一试这个函数,可以把url下载到本地。

参考文献

requests浏览器登录后手动设置cookies

Python将浏览器cookies共享给requests库

Python爬虫利器一之Requests库的用法

python的requests在网络请求中添加cookies参数

Chrome浏览器如何查看 & 编辑Cookie?

Python学习日记12|用python3多进程批量下载pdf文件

用Python和selenium下载pdf文件

浏览器下载文件时资源链接的获取方法

用python爬虫批量下载pdf

使用python爬虫抓取学术论文

实现a标签中的各种点击(onclick)事件的方法

URLConnection抓取万方数据上的文献数据

学习笔记之万方数据爬取

Python 爬虫如何获取 JS 生成的 URL 和网页内容?

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.05.20 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档