<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to paper</title><link>https://sourceforge.net/p/ba-py/wiki/paper/</link><description>Recent changes to paper</description><atom:link href="https://sourceforge.net/p/ba-py/wiki/paper/feed" rel="self"/><language>en</language><lastBuildDate>Sun, 28 Apr 2024 12:51:24 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/ba-py/wiki/paper/feed" rel="self" type="application/rss+xml"/><item><title>paper modified by BHM-Bob G</title><link>https://sourceforge.net/p/ba-py/wiki/paper/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="api"&gt;API文档&lt;/h1&gt;
&lt;p&gt;&lt;em&gt;generated by chatGPT&lt;/em&gt;&lt;/p&gt;
&lt;h2 id="_1"&gt;模块概述&lt;/h2&gt;
&lt;p&gt;该模块提供了一些用于处理科学论文的功能，包括解析RIS文件、在百度学术和PubMed上搜索论文、从Sci-Hub下载论文、提取PDF书签等。&lt;/p&gt;
&lt;h2 id="_2"&gt;模块导入&lt;/h2&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;os&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nn"&gt;re&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt; &lt;span class="nn"&gt;requests&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;typing&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;List&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;Dict&lt;/span&gt;

&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;lxml&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;etree&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;rispy&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="nn"&gt;PyPDF2&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h2 id="_3"&gt;函数和类&lt;/h2&gt;
&lt;h3 id="parse_risris_pathstr-fill_none_doistr-none-listdictstr-str"&gt;&lt;code&gt;parse_ris(ris_path:str, fill_none_doi:str = None) -&amp;gt; List[Dict[str, str]]&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;解析RIS文件并将内容作为字典列表返回。&lt;/p&gt;
&lt;p&gt;参数：&lt;br/&gt;
- &lt;code&gt;ris_path (str)&lt;/code&gt;: RIS文件的路径。&lt;br/&gt;
- &lt;code&gt;fill_none_doi (str, optional)&lt;/code&gt;: 用于填充缺失条目的DOI值。默认为None。&lt;/p&gt;
&lt;p&gt;返回值：&lt;br/&gt;
- &lt;code&gt;List[Dict[str, str]]&lt;/code&gt;: 包含解析后的RIS文件内容的字典列表。&lt;/p&gt;
&lt;h3 id="search_by_baiduquerystr-limitint-1-proxies-none-listdictstr-str"&gt;&lt;code&gt;search_by_baidu(query:str, limit:int = 1, proxies = None) -&amp;gt; List[Dict[str, str]]&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;使用给定的查询在百度学术上搜索文章。&lt;/p&gt;
&lt;p&gt;参数：&lt;br/&gt;
- &lt;code&gt;query (str)&lt;/code&gt;: 搜索查询。&lt;br/&gt;
- &lt;code&gt;limit (int, optional)&lt;/code&gt;: 要获取的最大文章数量。默认为1。&lt;/p&gt;
&lt;p&gt;返回值：&lt;br/&gt;
- &lt;code&gt;List[Dict[str, str]]&lt;/code&gt;: 包含找到的文章信息的字典列表。每个字典具有以下键：&lt;br/&gt;
  - &lt;code&gt;title (str)&lt;/code&gt;: 文章的标题。&lt;br/&gt;
  - &lt;code&gt;abstract (str)&lt;/code&gt;: 文章的摘要。&lt;br/&gt;
  - &lt;code&gt;keyword (List[str])&lt;/code&gt;: 与文章相关的关键词列表。&lt;br/&gt;
  - &lt;code&gt;doi (str)&lt;/code&gt;: 文章的DOI（数字对象标识符）。&lt;/p&gt;
&lt;h3 id="search_by_pubmedquerystr-emailstr-none-limitint-1-listdictstr-str"&gt;&lt;code&gt;search_by_pubmed(query:str, email:str = None, limit:int = 1) -&amp;gt; List[Dict[str, str]]&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;使用给定的查询在PubMed上搜索文章。&lt;/p&gt;
&lt;p&gt;参数：&lt;br/&gt;
- &lt;code&gt;query (str)&lt;/code&gt;: 搜索查询。&lt;br/&gt;
- &lt;code&gt;email (str, optional)&lt;/code&gt;: 用于设置邮箱地址。默认为None。&lt;br/&gt;
- &lt;code&gt;limit (int, optional)&lt;/code&gt;: 要获取的最大文章数量。默认为1。&lt;/p&gt;
&lt;p&gt;返回值：&lt;br/&gt;
- &lt;code&gt;List[Dict[str, str]]&lt;/code&gt;: 包含找到的文章信息的字典列表。每个字典具有以下键：&lt;br/&gt;
  - &lt;code&gt;title (str)&lt;/code&gt;: 文章的标题。&lt;br/&gt;
  - &lt;code&gt;abstract (str)&lt;/code&gt;: 文章的摘要。&lt;br/&gt;
  - &lt;code&gt;doi (str)&lt;/code&gt;: 文章的DOI（数字对象标识符）。&lt;br/&gt;
  - &lt;code&gt;journal (str)&lt;/code&gt;: 文章的期刊。&lt;/p&gt;
&lt;h3 id="searchquerystr-limitint-1-search_enginestr-baidu-xueshu-emailstr-none-listdictstr-str"&gt;&lt;code&gt;search(query:str, limit:int = 1, search_engine:str = 'baidu xueshu', email:str = None) -&amp;gt; List[Dict[str, str]]&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;使用指定的搜索引擎搜索给定的查询，并返回结果。&lt;/p&gt;
&lt;p&gt;参数：&lt;br/&gt;
- &lt;code&gt;query (str)&lt;/code&gt;: 要搜索的查询字符串。&lt;br/&gt;
- &lt;code&gt;limit (int)&lt;/code&gt;: 要返回的最大结果数。&lt;br/&gt;
- &lt;code&gt;search_engine (str)&lt;/code&gt;: 要使用的搜索引擎。默认为'baidu xueshu'。&lt;br/&gt;
  - 允许的值：'baidu xueshu'、'science direct'、'publons'，如果不被识别，返回None。&lt;/p&gt;
&lt;p&gt;返回值：&lt;br/&gt;
- &lt;code&gt;List[Dict[str, str]]&lt;/code&gt;: 搜索结果作为字典列表返回，包含'title'、'abstract'、'keyword'和'doi'。&lt;/p&gt;
&lt;h3 id="download_from_scihub_by_doidoistr-proxies-none-dictstr-any"&gt;&lt;code&gt;download_from_scihub_by_doi(doi:str, proxies = None) -&amp;gt; Dict[str, Any]&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;使用DOI从Sci-Hub数据库下载文件。&lt;/p&gt;
&lt;p&gt;参数：&lt;br/&gt;
- &lt;code&gt;doi (str)&lt;/code&gt;: 要下载的文件的DOI。&lt;br/&gt;
- &lt;code&gt;proxies (dict)&lt;/code&gt;: 用于请求的代理字典。&lt;/p&gt;
&lt;p&gt;返回值：&lt;br/&gt;
- &lt;code&gt;Dict[str, Any]&lt;/code&gt;: 包含下载请求的标题、DOI和响应对象的字典。&lt;br/&gt;
- 如果遇到错误，返回None。&lt;/p&gt;
&lt;h3 id="download_from_scihub_by_titletitlestr-proxies-none-dictstr-any"&gt;&lt;code&gt;download_from_scihub_by_title(title:str, proxies = None) -&amp;gt; Dict[str, Any]&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;使用标题从Sci-Hub下载文档。&lt;/p&gt;
&lt;p&gt;参数：&lt;br/&gt;
- &lt;code&gt;title (str)&lt;/code&gt;: 要下载的文档的标题。&lt;br/&gt;
- &lt;code&gt;proxies (dict, optional)&lt;/code&gt;: 用于HTTP请求的代理字典。&lt;/p&gt;
&lt;p&gt;返回值：&lt;br/&gt;
- &lt;code&gt;Dict[str, Any]&lt;/code&gt;: 包含下载请求的标题、DOI和响应对象的字典。&lt;br/&gt;
- 如果遇到错误，返回None。&lt;/p&gt;
&lt;h3 id="download_by_scihubdir-str-doi-str-none-titlestr-none-file_full_namestr-none-use_title_as_name-bool-true-valid_path_chrstr-_-dictstr-any"&gt;&lt;code&gt;download_by_scihub(dir: str, doi: str = None, title:str = None, file_full_name:str = None, use_title_as_name: bool = True, valid_path_chr:str = '_') -&amp;gt; Dict[str, Any]&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;使用DOI从Sci-Hub下载论文。&lt;/p&gt;
&lt;p&gt;参数：&lt;br/&gt;
- &lt;code&gt;dir (str)&lt;/code&gt;: 下载文件将保存的目录。&lt;br/&gt;
- &lt;code&gt;doi (str)&lt;/code&gt;: 论文的DOI（数字对象标识符）。&lt;br/&gt;
- &lt;code&gt;title (str)&lt;/code&gt;: 论文的标题。&lt;br/&gt;
- &lt;code&gt;file_full_name (str, optional)&lt;/code&gt;: 下载文件的名称，包括文件扩展名（.pdf）。默认为None。&lt;br/&gt;
- &lt;code&gt;use_title_as_name (bool, optional)&lt;/code&gt;: 是否使用论文的标题作为文件名。默认为True。&lt;br/&gt;
- &lt;code&gt;valid_path_chr (str, optional)&lt;/code&gt;: 用于替换文件名中的无效字符的字符。默认为'_'。&lt;/p&gt;
&lt;p&gt;返回值：&lt;br/&gt;
- &lt;code&gt;Dict[str, Any]&lt;/code&gt;：如果成功，返回包含有关下载论文的信息的字典。如果失败，返回None。&lt;/p&gt;
&lt;h3 id="has_sci_bookmarkspdf_pathstr-none-pdf_obj-none-section_namesliststr-unionliststr-bool"&gt;&lt;code&gt;has_sci_bookmarks(pdf_path:str = None, pdf_obj = None, section_names:List[str]=[]) -&amp;gt; Union[List[str], bool]&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;检查PDF文档是否具有科学部分的书签。&lt;/p&gt;
&lt;p&gt;参数：&lt;br/&gt;
- &lt;code&gt;pdf_path (str)&lt;/code&gt;: PDF文档的路径。默认为None。&lt;br/&gt;
- &lt;code&gt;pdf_obj&lt;/code&gt;: PDF对象（已打开）。默认为None。&lt;br/&gt;
- &lt;code&gt;section_names (List[str])&lt;/code&gt;: 要检查书签的科学部分的名称列表。默认为空列表。&lt;/p&gt;
&lt;p&gt;返回值：&lt;br/&gt;
- &lt;code&gt;Union[List[str], bool]&lt;/code&gt;：如果PDF具有书签，则返回包含科学部分名称的列表；否则返回False。&lt;/p&gt;
&lt;h3 id="get_sci_bookmarks_from_pdfpdf_pathstr-none-pdf_obj-none-section_namesliststr-liststr"&gt;&lt;code&gt;get_sci_bookmarks_from_pdf(pdf_path:str = None, pdf_obj = None, section_names:List[str]=[]) -&amp;gt; List[str]&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;从科学PDF中返回一个包含部分名称的列表。&lt;/p&gt;
&lt;p&gt;参数：&lt;br/&gt;
- &lt;code&gt;pdf_path (str)&lt;/code&gt;: PDF文件的路径。默认为None。&lt;br/&gt;
- &lt;code&gt;pdf_obj&lt;/code&gt;: PDF对象。默认为None。&lt;br/&gt;
- &lt;code&gt;section_names (List[str])&lt;/code&gt;: 要搜索的部分名称列表。如果为None，则搜索所有部分，包括'Abstract'、'Introduction'、'Materials'、'Methods'、'Results'、'Discussion'、'References'。&lt;/p&gt;
&lt;p&gt;返回值：&lt;br/&gt;
- &lt;code&gt;List[str]&lt;/code&gt;：包含在PDF中找到的部分名称的列表。&lt;/p&gt;
&lt;h3 id="get_section_bookmarkspdf_pathstr-none-pdf_obj-none-unionliststr-none"&gt;&lt;code&gt;get_section_bookmarks(pdf_path:str = None, pdf_obj = None) -&amp;gt; Union[List[str], None]&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;从PDF中返回书签部分的标题列表。&lt;/p&gt;
&lt;p&gt;参数：&lt;br/&gt;
- &lt;code&gt;pdf_path (str)&lt;/code&gt;: PDF文件的路径。默认为None。&lt;br/&gt;
- &lt;code&gt;pdf_obj&lt;/code&gt;: PDF对象（已打开）。默认为None。&lt;/p&gt;
&lt;p&gt;返回值：&lt;br/&gt;
- &lt;code&gt;Union[List[str], None]&lt;/code&gt;：包含PDF中书签部分标题的列表。&lt;br/&gt;
- 如果没有书签部分或PDF文件不存在，则返回None。&lt;/p&gt;
&lt;h3 id="get_english_part_of_bookmarksbookmarksliststr-liststr"&gt;&lt;code&gt;get_english_part_of_bookmarks(bookmarks:List[str]) -&amp;gt; List[str]&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;从给定的书签列表中提取英文部分。&lt;/p&gt;
&lt;p&gt;参数：&lt;br/&gt;
- &lt;code&gt;bookmarks (List[str])&lt;/code&gt;: 书签列表。&lt;/p&gt;
&lt;p&gt;返回值：&lt;br/&gt;
- &lt;code&gt;List[str]&lt;/code&gt;：只包含书签英文部分的列表。&lt;/p&gt;
&lt;h3 id="get_section_from_paperpaperstr-keystr-keysliststr-title-authors-abstract-keywords-introduction-materials-methods-results-discussion-references-unionstr-none"&gt;&lt;code&gt;get_section_from_paper(paper:str, key:str, keys:List[str] = ['Title', 'Authors', 'Abstract', 'Keywords', 'Introduction', 'Materials &amp;amp; Methods', 'Results', 'Discussion', 'References']) -&amp;gt; Union[str, None]&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;通过关键字从科学论文中提取部分。&lt;/p&gt;
&lt;p&gt;参数：&lt;br/&gt;
- &lt;code&gt;paper (str)&lt;/code&gt;: 科学论文。&lt;br/&gt;
- &lt;code&gt;key (str)&lt;/code&gt;: 论文中的一个部分，可以是'Title'、'Authors'、'Abstract'、'Keywords'、'Introduction'、'Materials &amp;amp; Methods'、'Results'、'Discussion'、'References'之一。&lt;br/&gt;
- &lt;code&gt;keys (List[str], optional)&lt;/code&gt;: 要提取的关键字列表。默认为&lt;span&gt;['Title', 'Authors', 'Abstract', 'Keywords', 'Introduction', 'Materials &amp;amp; Methods', 'Results', 'Discussion', 'References']&lt;/span&gt;。&lt;/p&gt;
&lt;p&gt;返回值：&lt;br/&gt;
- &lt;code&gt;Union[str, None]&lt;/code&gt;：从论文中提取的部分。&lt;/p&gt;
&lt;h3 id="format_paper_from_txtcontentstr-structliststr-title-authors-abstract-keywords-introduction-materials-methods-results-discussion-references-dictstr-str"&gt;&lt;code&gt;format_paper_from_txt(content:str, struct:List[str] = ['Title', 'Authors', 'Abstract', 'Keywords', 'Introduction', 'Materials &amp;amp; Methods', 'Results', 'Discussion', 'References']) -&amp;gt; Dict[str, str]&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;从文本中格式化论文。&lt;/p&gt;
&lt;p&gt;参数：&lt;br/&gt;
- &lt;code&gt;content (str)&lt;/code&gt;: 文本内容。&lt;br/&gt;
- &lt;code&gt;struct (List[str], optional)&lt;/code&gt;: 要提取的部分列表。默认为&lt;span&gt;['Title', 'Authors', 'Abstract', 'Keywords', 'Introduction', 'Materials &amp;amp; Methods', 'Results', 'Discussion', 'References']&lt;/span&gt;。&lt;/p&gt;
&lt;p&gt;返回值：&lt;br/&gt;
- &lt;code&gt;Dict[str, str]&lt;/code&gt;：包含格式化后的论文信息的字典。&lt;/p&gt;
&lt;h2 id="_4"&gt;全局变量&lt;/h2&gt;
&lt;h3 id="session"&gt;&lt;code&gt;session&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;一个&lt;code&gt;requests.Session&lt;/code&gt;对象，用于发送HTTP请求。&lt;/p&gt;
&lt;h3 id="available_scihub_urls"&gt;&lt;code&gt;available_scihub_urls&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;一个包含可用Sci-Hub网址的列表。&lt;/p&gt;
&lt;h2 id="_5"&gt;内部函数&lt;/h2&gt;
&lt;h3 id="_get_a_search_pagequerystr-pageint-0-liststr"&gt;&lt;code&gt;_get_a_search_page(query:str, page:int = 0) -&amp;gt; List[str]&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;获取百度学术搜索页面的链接。&lt;/p&gt;
&lt;p&gt;参数：&lt;br/&gt;
- &lt;code&gt;query (str)&lt;/code&gt;: 搜索查询。&lt;br/&gt;
- &lt;code&gt;page (int, optional)&lt;/code&gt;: 页面索引。默认为0。&lt;/p&gt;
&lt;p&gt;返回值：&lt;br/&gt;
- &lt;code&gt;List[str]&lt;/code&gt;：包含搜索结果链接的列表。&lt;/p&gt;
&lt;h3 id="_parse_linkslinkslist-listdictstr-str"&gt;&lt;code&gt;_parse_links(links:list) -&amp;gt; List[Dict[str, str]]&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;解析搜索结果链接。&lt;/p&gt;
&lt;p&gt;参数：&lt;br/&gt;
- &lt;code&gt;links (list)&lt;/code&gt;: 搜索结果链接列表。&lt;/p&gt;
&lt;p&gt;返回值：&lt;br/&gt;
- &lt;code&gt;List[Dict[str, str]]&lt;/code&gt;：包含搜索结果信息的字典列表。&lt;/p&gt;
&lt;h3 id="_update_available_scihub_urls-liststr"&gt;&lt;code&gt;_update_available_scihub_urls() -&amp;gt; List[str]&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;更新可用的Sci-Hub网址列表。&lt;/p&gt;
&lt;p&gt;返回值：&lt;br/&gt;
- &lt;code&gt;List[str]&lt;/code&gt;：可用的Sci-Hub网址列表。&lt;/p&gt;
&lt;h3 id="_download_from_scihub_webpagewebpagerequestsresponse-proxies-none-dictstr-any"&gt;&lt;code&gt;_download_from_scihub_webpage(webpage:requests.Response, proxies = None) -&amp;gt; Dict[str, Any]&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;从Sci-Hub网页下载文件。&lt;/p&gt;
&lt;p&gt;参数：&lt;br/&gt;
- &lt;code&gt;webpage (requests.Response)&lt;/code&gt;: Sci-Hub网页的响应对象。&lt;br/&gt;
- &lt;code&gt;proxies (dict, optional)&lt;/code&gt;: 用于请求的代理字典。默认为None。&lt;/p&gt;
&lt;p&gt;返回值：&lt;br/&gt;
- &lt;code&gt;Dict[str, Any]&lt;/code&gt;：包含下载请求的标题、DOI和响应对象的字典。&lt;/p&gt;
&lt;h3 id="_flatten_pdf_bookmarksbookmarks-listany"&gt;&lt;code&gt;_flatten_pdf_bookmarks(*bookmarks) -&amp;gt; List[Any]&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;解析书签列表并返回扁平化的书签列表。&lt;/p&gt;
&lt;p&gt;参数：&lt;br/&gt;
- &lt;code&gt;*bookmarks (List[Any])&lt;/code&gt;: 书签列表。&lt;/p&gt;
&lt;p&gt;返回值：&lt;br/&gt;
- &lt;code&gt;List[Any]&lt;/code&gt;：扁平化的书签列表。&lt;/p&gt;
&lt;h2 id="_6"&gt;主程序&lt;/h2&gt;
&lt;h3 id="__main__"&gt;&lt;code&gt;__main__&lt;/code&gt;代码&lt;/h3&gt;
&lt;p&gt;该部分包含一些用于测试的代码，可以在开发模式下运行。&lt;/p&gt;
&lt;h2 id="_7"&gt;异常&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Exception&lt;/code&gt;：如果DOI不存在或从Sci-Hub获取文件时出错，会引发异常。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="_8"&gt;模块使用示例&lt;/h2&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;    &lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;mbapy.base&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;rand_choose&lt;/span&gt;
    &lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="nn"&gt;mbapy.file&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;convert_pdf_to_txt&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;read_json&lt;/span&gt;

    &lt;span class="c1"&gt;# RIS parse&lt;/span&gt;
    &lt;span class="n"&gt;ris&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;parse_ris&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'./data_tmp/savedrecs.ris'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;''&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;ris&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;rand_choose&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ris&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s1"&gt;'title: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;ris&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"title"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s1"&gt;doi: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;ris&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"doi"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="c1"&gt;# search&lt;/span&gt;
    &lt;span class="c1"&gt;# search_result = search_by_baidu('linaclotide', 11)&lt;/span&gt;
    &lt;span class="n"&gt;search_result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;search_by_pubmed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'linaclotide'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;read_json&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'./data_tmp/id.json'&lt;/span&gt;&lt;span class="p"&gt;)[&lt;/span&gt;&lt;span class="s1"&gt;'edu_email'&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="mi"&gt;11&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;search_result2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;search&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ris&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"title"&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

    &lt;span class="c1"&gt;# download&lt;/span&gt;
    &lt;span class="n"&gt;dl_result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;download_by_scihub&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'./data_tmp/'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;title&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;search_result&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="s1"&gt;'title'&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;
    &lt;span class="n"&gt;download_by_scihub&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'./data_tmp/'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'10.1097/j.pain.0000000000001905'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ris&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"title"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt; &lt;span class="n"&gt;file_full_name&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;ris&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"title"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="s1"&gt;s&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s1"&gt;.pdf'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="c1"&gt;# extract section&lt;/span&gt;
    &lt;span class="n"&gt;pdf_path&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;replace_invalid_path_chr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"./data_tmp/&lt;/span&gt;&lt;span class="si"&gt;{:s}&lt;/span&gt;&lt;span class="s2"&gt;.pdf"&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;format&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ris&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"title"&lt;/span&gt;&lt;span class="p"&gt;]))&lt;/span&gt;
    &lt;span class="n"&gt;sections&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;get_english_part_of_bookmarks&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;get_section_bookmarks&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pdf_path&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
    &lt;span class="n"&gt;paper&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;section&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;convert_pdf_to_txt&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pdf_path&lt;/span&gt;&lt;span class="p"&gt;),&lt;/span&gt; &lt;span class="n"&gt;rand_choose&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sections&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="nb"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;sections&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;section&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;get_section_from_paper&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;paper&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;section&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;keys&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;sections&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">BHM-Bob G</dc:creator><pubDate>Sun, 28 Apr 2024 12:51:24 -0000</pubDate><guid>https://sourceforge.netcf039232e9b154d3a5cde359334688786229e4ad</guid></item></channel></rss>