国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

python自動從arxiv下載paper的示例代碼

瀏覽:2日期:2022-07-03 10:27:01

#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2020/02/11 21:44# @Author : dangxusheng# @Email : [email protected]# @File : download_by_href.py’’’自動從arxiv.org 下載文獻’’’import osimport os.path as ospimport requestsfrom lxml import etreefrom pprint import pprintimport reimport timeimport globheaders = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36', 'Host': ’arxiv.org’}HREF_CN = ’http://cn.arxiv.org/pdf/’HREF_SRC = ’http://cn.arxiv.org/pdf/’SAVE_PATH = ’/media/dangxs/E/Paper/download_at_20200730’os.makedirs(SAVE_PATH, exist_ok=True)FAIL_URLS = []FAIL_URLS_TXT = f’{SAVE_PATH}/fail_urls.txt’def download(url, title): pattern = r’[/:*?'’<>|rn]+’ new_title = re.sub(pattern, ' ', title) print(f’new title: {new_title}’) save_filepath = ’%s/%s.pdf’ % (SAVE_PATH, new_title) if osp.exists(save_filepath) and osp.getsize(save_filepath) > 50 * 1024: print(f’this pdf is be existed.’) return True try: with open(save_filepath, ’wb’) as file: # 分字節(jié)下載 r = requests.get(url, stream=True, timeout=None) for i in r.iter_content(2048):file.write(i) if osp.getsize(save_filepath) >= 10 * 1024: print(’%s 下載成功.’ % title) return True except Exception as e: print(e) return False# 從arxiv.org 去下載def search(start_size=0, title_keywords=’Facial Expression’): # 訪問地址: https://arxiv.org/find/grp_eess,grp_stat,grp_cs,grp_econ,grp_math/1/ti:+Face/0/1/0/past,2018,2019/0/1?skip=200&query_id=1c582e6c8afc6146&client_host=cn.arxiv.org req_url = ’https://arxiv.org/search/advanced’ req_data = { ’advanced’: 1, ’terms-0-operator’: ’AND’, ’terms-0-term’: title_keywords, ’terms-0-field’: ’title’, ’classification-computer_science’: ’y’, ’classification-physics_archives’: ’all’, ’classification-include_cross_list’: ’include’, ’date-filter_by’: ’date_range’, # date_range | specific_year # ’date-year’: DOWN_YEAR, ’date-year’: ’’, ’date-from_date’: ’2015’, ’date-to_date’: ’2020’, ’date-date_type’: ’announced_date_first’, # submitted_date | submitted_date_first | announced_date_first ’abstracts’: ’show’, ’size’: 50, ’order’: ’-announced_date_first’, ’start’: start_size, } res = requests.get(req_url, params=req_data, headers=headers) html = res.content.decode() html = etree.HTML(html) total_text = html.xpath(’//h1[@class='title is-clearfix']/text()’) total_text = ’’.join(total_text).replace(’n’, ’’).lstrip(’ ’).strip(’ ’) # i.e. : Showing 1?50 of 355 results num = re.findall(’d+’, total_text) # Sorry, your query returned no results if len(num) == 0: return [], 0 total = int(num[-1]) # 查詢總條數(shù) paper_list = html.xpath(’//ol[@class='breathe-horizontal']/li’) info_list = [] for p in paper_list: title = p.xpath(’./p[@class='title is-5 mathjax']//text()’) title = ’’.join(title).replace(’n’, ’’).lstrip(’ ’).strip(’ ’) href = p.xpath(’./div/p/a/@href’)[0] info_list.append({’title’: title, ’href’: href}) return info_list, total# 去指定頁面下載def search_special(): res = requests.get(’https://gitee.com/weberyoung/the-gan-zoo?_from=gitee_search’) html = res.content.decode() html = etree.HTML(html) paper_list = html.xpath(’//div[@class='file_content markdown-body']//li’) info_list = [] for p in paper_list: title = p.xpath(’.//text()’) title = ’’.join(title).replace(’n’, ’’).lstrip(’ ’).strip(’ ’) href = p.xpath(’./a/@href’)[0] info_list.append({’title’: title, ’href’: href}) pprint(info_list) return info_listif __name__ == ’__main__’: page_idx = 0 total = 1000 keywords = ’Facial Action Unit’ while page_idx <= total // 50: paper_list, total = search(page_idx * 50, keywords) print(f’total: {total}’) if total == 0: print(’no found .’) exit(0) for p in paper_list: title = p[’title’] href = HREF_CN + p[’href’].split(’/’)[-1] + ’.pdf’ print(href) if not download(href, title):print(’從國內(nèi)鏡像下載失敗,從源地址開始下載 >>>>’)# 使用國際URL再下載一次href = HREF_SRC + p[’href’].split(’/’)[-1] + ’.pdf’if not download(href, title): FAIL_URLS.append(p) page_idx += 1 # 下載最后的部分 last_1 = total - page_idx * 50 paper_list, total = search(last_1, keywords) for p in paper_list: title = p[’title’] href = HREF_CN + p[’href’].split(’/’)[-1] + ’.pdf’ if not download(href, title): FAIL_URLS.append(p) time.sleep(1) pprint(FAIL_URLS) with open(FAIL_URLS_TXT, ’a+’) as f: for item in FAIL_URLS: href = item[’href’] title = item[’title’] f.write(href + ’n’) print(’done.’)

以上就是python自動從arxiv下載paper的示例代碼的詳細內(nèi)容,更多關(guān)于python 從arxiv下載paper的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 欧美一级毛片免费大全 | 日韩欧美一及在线播放 | 免费手机黄色网址 | foot国产女王脚视频 | 国产一区二区三区在线观看视频 | 久久精品综合免费观看 | 日韩 欧美 中文 亚洲 高清 在线 | 91精品久久一区二区三区 | 在线a网站 | 亚洲欧洲日本天天堂在线观看 | 91精品国产一区二区三区四区 | 亚洲成人综合视频 | 欧美一区亚洲 | 国产欧美日韩综合精品一区二区 | 亚洲免费播放 | 怡红院亚洲红怡院天堂麻豆 | 精品久久久久久久久久中文字幕 | 日韩在线视频不卡一区二区三区 | 自怕偷自怕亚洲精品 | 大胆gogo999亚洲肉体艺术 | 精品无人区一区二区三区a 精品午夜国产在线观看不卡 | 91精品国产91久久久久青草 | 日本在线免费观看视频 | 高清 国产 日韩 欧美 | 97在线精品 | 国产一级片在线 | 久久精品一区二区国产 | 成人亚州| a级国产乱理伦片在线 | 欧美成人久久 | 亚洲精品国产一区二区三区在 | 91成人影院 | 热伊人99re久久精品最新地 | 国产成人精品高清在线观看99 | 看真人一级毛片 | 久久久精品国产免费观看同学 | 暖暖在线精品日本中文 | 女人被男人躁得好爽免费文 | 狠狠做久久深爱婷婷97动漫 | 亚洲国产精品91 | 国产嫩草影院在线观看 |