专栏首页cs万方数据库,文献下载的准备

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

 ###后来文献下载任务完成了 ,相关的代码,细节,介绍看这篇文章 https://www.jianshu.com/p/134530b46a65

想批量下载万方数据库的文献,看了一下其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函数。

/*下载*/
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也结果

<input type="hidden" id="pSize" value="20"> 
 <!-- 分页参数 -->

搜索页的url

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标签中.

 找到<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 和网页内容?

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • js函数解读

    东风冷雪
  • python爬虫的东西

    东风冷雪
  • c++那些事儿4.0 多态

    ---- 相关知识点 多态: 向不同对象发送一个消息,不同的对象接收会产生不同的行为。 a.静态多态性。 函数重载,最经典就是构造函数重载...

    东风冷雪
  • 19.SimLogin_case05

    hankleo
  • 关于字符串的应用

    hankleo
  • 【Go 语言社区】GO中怎么处理URL编码?

    package main import( "fmt" "net/url") func main(){ var URL = "%5B%7...

    李海彬
  • springboot Actuator

    springboot Actuator只需要加入依赖即可使用: <dependency> <groupId>org.springframework.bo...

    yawn
  • 如何让你在众多二手车中挑中满意的?python帮你实现(附源码)

    老司机带你去看车,网上的几千条的二手车数据,只需几十行代码,就可以统统获取,保存数据到我们本地电脑上

    松鼠爱吃饼干
  • 【pyspark】广播变量のdestroy...

    今天发现用户的 pyspark 程序 driver 所在的母机的磁盘告警了,进去 pyspark driver pod 一看,发现有个目录数据多达1T了。一开始...

    runzhliu
  • python3爬虫(4)各种网站视频下载

    理论上来讲只要是网上(浏览器)能看到图片,音频,视频,都能够下载下来,然而实际操作的时候也是有一定难度和技术的,这篇文章主要讲述各个网站视频资源如何下载。

    py3study

扫码关注云+社区

领取腾讯云代金券