日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Python實現一個論文下載器的過程

瀏覽:120日期:2022-06-29 16:01:04

在科研學習的過程中,我們難免需要查詢相關的文獻資料,而想必很多小伙伴都知道SCI-HUB,此乃一大神器,它可以幫助我們搜索相關論文并下載其原文。可以說,SCI-HUB造福了眾多科研人員,用起來也是“美滋滋”。

Python實現一個論文下載器的過程

然而,當師姐告訴我:“xx,可以幫我下載幾篇文獻嘛?”。樂心助人的我自當是滿口答應了,心想:“這種小事就交給我叭~”

于是乎,我收到了一個excel文檔,66篇論文的列表安靜地趟在里面(此刻心中碎碎念:“這尼瑪,是幾篇嘛...”)。我粗略算了一下,復制、粘貼、下載,一套流程走下來,每篇論文少說也得30秒,66篇的話....啊,這不能忍!

很顯然,一篇一篇的下載,不是我的風格所以,我決定寫一個論文下載器助我前行。

Python實現一個論文下載器的過程

一、代碼分析

代碼分析的詳細思路跟以往依舊如此雷同,逃不過的還是:抓包分析->模擬請求->代碼整合。由于一會兒kimol君還得去搬磚,今天就不詳細展開了。

1. 搜索論文

通過論文的URL、PMID、DOI號或者論文標題等搜索到對應的論文,并通過bs4庫找出PDF原文的鏈接地址,代碼如下:

def search_article(artName): ’’’ 搜索論文 --------------- 輸入:論文名 --------------- 輸出:搜索結果(如果沒有返回'',否則返回PDF鏈接) ’’’ url = ’https://www.sci-hub.ren/’ headers = {’User-Agent’:’Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0’, ’Accept’:’text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8’, ’Accept-Language’:’zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2’, ’Accept-Encoding’:’gzip, deflate, br’, ’Content-Type’:’application/x-www-form-urlencoded’, ’Content-Length’:’123’, ’Origin’:’https://www.sci-hub.ren’, ’Connection’:’keep-alive’, ’Upgrade-Insecure-Requests’:’1’} data = {’sci-hub-plugin-check’:’’, ’request’:artName} res = requests.post(url, headers=headers, data=data) html = res.text soup = BeautifulSoup(html, ’html.parser’) iframe = soup.find(id=’pdf’) if iframe == None: # 未找到相應文章 return ’’ else: downUrl = iframe[’src’] if ’http’ not in downUrl: downUrl = ’https:’+downUrl return downUrl2. 下載論文

得到了論文的鏈接地址之后,只需要通過requests發送一個請求,即可將其下載:

def download_article(downUrl): ’’’ 根據論文鏈接下載文章 ---------------------- 輸入:論文鏈接 ---------------------- 輸出:PDF文件二進制 ’’’ headers = {’User-Agent’:’Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0’, ’Accept’:’text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8’, ’Accept-Language’:’zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2’, ’Accept-Encoding’:’gzip, deflate, br’, ’Connection’:’keep-alive’, ’Upgrade-Insecure-Requests’:’1’} res = requests.get(downUrl, headers=headers) return res.content二、完整代碼

將上述兩個函數整合之后,我的完整代碼如下:

# -*- coding: utf-8 -*-'''Created on Tue Jan 5 16:32:22 2021@author: kimol_love'''import osimport timeimport requestsfrom bs4 import BeautifulSoup def search_article(artName): ’’’ 搜索論文 --------------- 輸入:論文名 --------------- 輸出:搜索結果(如果沒有返回'',否則返回PDF鏈接) ’’’ url = ’https://www.sci-hub.ren/’ headers = {’User-Agent’:’Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0’, ’Accept’:’text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8’, ’Accept-Language’:’zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2’, ’Accept-Encoding’:’gzip, deflate, br’, ’Content-Type’:’application/x-www-form-urlencoded’, ’Content-Length’:’123’, ’Origin’:’https://www.sci-hub.ren’, ’Connection’:’keep-alive’, ’Upgrade-Insecure-Requests’:’1’} data = {’sci-hub-plugin-check’:’’, ’request’:artName} res = requests.post(url, headers=headers, data=data) html = res.text soup = BeautifulSoup(html, ’html.parser’) iframe = soup.find(id=’pdf’) if iframe == None: # 未找到相應文章 return ’’ else: downUrl = iframe[’src’] if ’http’ not in downUrl: downUrl = ’https:’+downUrl return downUrl def download_article(downUrl): ’’’ 根據論文鏈接下載文章 ---------------------- 輸入:論文鏈接 ---------------------- 輸出:PDF文件二進制 ’’’ headers = {’User-Agent’:’Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0’, ’Accept’:’text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8’, ’Accept-Language’:’zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2’, ’Accept-Encoding’:’gzip, deflate, br’, ’Connection’:’keep-alive’, ’Upgrade-Insecure-Requests’:’1’} res = requests.get(downUrl, headers=headers) return res.content def welcome(): ’’’ 歡迎界面 ’’’ os.system(’cls’) title = ’’’ _____ _____ _____ _ _ _ _ ____ / ____|/ ____|_ _| | | | | | | | _ | (___ | | | |______| |__| | | | | |_) | ___ | | | |______| __ | | | | _ < ____) | |____ _| |_ | | | | |__| | |_) | |_____/ _____|_____| |_| |_|____/|____/ ’’’ print(title) if __name__ == ’__main__’: while True: welcome() request = input(’請輸入URL、PMID、DOI或者論文標題:’) print(’搜索中...’) downUrl = search_article(request) if downUrl == ’’: print(’未找到相關論文,請重新搜索!’) else: print(’論文鏈接:%s’%downUrl) print(’下載中...’) pdf = download_article(downUrl) with open(’%s.pdf’%request, ’wb’) as f: f.write(pdf) print(’---下載完成---’) time.sleep(0.8)

不出所料,代碼一跑,我便輕松完成了師姐交給我的任務,不香嘛?

到此這篇關于Python實現一個論文下載器的過程的文章就介紹到這了,更多相關python論文下載器內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
精品国产精品国产偷麻豆| 日韩精选在线| 国产一区二区视频在线看| 国产理论在线| 国产一区二区三区自拍| 一区免费视频| 亚洲一区二区免费在线观看| 欧美日韩精品一区二区三区在线观看| 国产精品久久久久久久久久白浆| 日韩成人精品一区| 欧美va天堂在线| 日韩高清在线不卡| www.九色在线| 天堂va蜜桃一区二区三区| 国产伦精品一区二区三区视频 | 亚洲资源网站| 国产精品777777在线播放 | 久久成人福利| 国内亚洲精品| 天堂精品久久久久| 久久精品一本| 九九久久婷婷| 国产欧美88| 欧美一级精品| 国产日韩欧美一区| 在线日韩视频| 久久成人亚洲| 免费国产自线拍一欧美视频| 日韩在线电影| 久久精品免费看| 成人自拍av| 老牛国产精品一区的观看方式| 91精品美女| 夜鲁夜鲁夜鲁视频在线播放| 国产亚洲永久域名| 91精品国产自产观看在线 | 精品视频黄色| 亚洲va在线| 亚洲一区二区三区久久久| 国产精品igao视频网网址不卡日韩 | 国产精品欧美日韩一区| 国产成人精品一区二区免费看京| av资源亚洲| 亚洲美洲欧洲综合国产一区| 五月激激激综合网色播| 美女视频黄久久| 激情婷婷欧美| 欧美精品福利| а√天堂8资源中文在线| 免费久久99精品国产自在现线| 国产精品一区二区三区美女 | 免费在线亚洲| 日韩一区欧美二区| 影音先锋久久精品| 欧美成人高清| 国产精品专区免费| 欧美日韩 国产精品| 99riav1国产精品视频| 成年男女免费视频网站不卡| 国产麻豆久久| 玖玖精品视频| 日韩精品五月天| 最新亚洲国产| 老牛影视精品| 日本在线观看不卡视频| 五月激情久久| 欧美一区激情| 狠狠干综合网| 91视频一区| 香蕉久久一区| 99久久视频| 欧美精品导航| 亚洲一区观看| 国产精品麻豆久久| 婷婷精品久久久久久久久久不卡| 欧洲av一区二区| 国产剧情一区二区在线观看| 亚洲精品伦理| 午夜精品亚洲| 久久美女性网| 色偷偷色偷偷色偷偷在线视频| 麻豆一区二区三区| 久久精品99国产精品日本| 亚洲精品精选| 香蕉久久一区| 大香伊人久久精品一区二区| 在线亚洲人成| 久久精品免费看| 7777精品| 中文字幕av一区二区三区人| 久久在线电影| 亚洲啊v在线| 欧美日韩1区| 石原莉奈一区二区三区在线观看 | 欧美经典一区| 深夜福利一区| 黄色日韩在线| 成人看片网站| 老司机精品视频在线播放| 亚洲精品视频一二三区| 欧美另类专区| 久久精品国产68国产精品亚洲| 国产一区福利| 国产精品xxx| 婷婷五月色综合香五月| 国产视频一区欧美| 亚洲二区视频| 极品日韩av| 久久视频一区| 成人一二三区| 久久精品国产精品亚洲毛片| 日韩动漫一区| 日日夜夜免费精品视频| 午夜在线一区| 欧美日韩在线二区| 欧美aa在线观看| 国产一区二区三区四区二区| 麻豆91精品视频| 精品一级视频| 成人日韩av| 精品日韩在线| 久久精品av麻豆的观看方式| 国产精品a级| 91麻豆国产自产在线观看亚洲| 日韩精品第一区| 91成人网在线观看| 日韩精品一区二区三区中文| 美日韩一区二区三区| 国产va免费精品观看精品视频| 国产精品字幕| 国产精品av一区二区| 欧美亚洲激情| 欧美日韩国产免费观看视频| 亚洲午夜91| 一区三区视频| 国产综合婷婷| 国产美女精品| 国产精品久久久久久久久久齐齐| 国产精品久久久免费| 国内自拍视频一区二区三区| 国产精品久久久久久久免费观看 | 久久精品免视看国产成人| 久久久亚洲一区| 久久av在线| 精品三级av| 夜夜嗨一区二区| 国产调教精品| 久久久成人网| 日本不卡中文字幕| 久草免费在线视频| 男人的天堂久久精品| 麻豆精品少妇| 久久成人亚洲| 四虎8848精品成人免费网站| 亚洲欧洲一区| 美女精品久久| 蜜臀久久久99精品久久久久久| 日韩精品免费视频一区二区三区| 日日夜夜免费精品视频| 久久99性xxx老妇胖精品| a日韩av网址| 国产一区调教| 日韩av有码| 亚洲精品黄色| 91精品婷婷色在线观看| 奇米狠狠一区二区三区| 91精品亚洲| 国产精品va| 男人天堂欧美日韩| 欧美激情另类| 综合视频一区| 日韩精品一区二区三区免费观看| 热久久久久久| 日韩精品一卡| 欧美日本不卡| 久久先锋影音| 日韩欧美网址| 国产亚洲一区二区三区啪| 99久久婷婷| 精品久久久亚洲| 亚洲精品免费观看| 亚洲一级特黄| 国产成人免费| 欧美亚洲网站| 久久高清国产| 伊人精品一区| 国产成人a视频高清在线观看| 亚洲精品欧洲| 亚洲成av在线| 久久亚洲黄色| 日韩高清中文字幕一区| 国产亚洲综合精品| 成人精品天堂一区二区三区| 国产极品嫩模在线观看91精品| 男女性色大片免费观看一区二区 | 日本国产一区| 国产亚洲在线| 136国产福利精品导航网址| 欧美激情99| 视频一区中文字幕精品|