Skip to content
Snippets Groups Projects
Commit 433bf784 authored by Jochens, Florian's avatar Jochens, Florian
Browse files

input_fj.py

parent 35b2ab08
Branches
No related tags found
1 merge request!1input
#!/usr/bin/env python3 #!/usr/bin/env python3
""" """
Functions for information retrievel of articles from the ACS journal JCIM Functions for information retrieval of articles from the ACS journal JCIM
""" """
...@@ -53,8 +53,12 @@ def get_article_info(soup): ...@@ -53,8 +53,12 @@ def get_article_info(soup):
contributors = [] contributors = []
for con in cons.find_all('span', class_ = 'hlFld-ContribAuthor'): for con in cons.find_all('span', class_ = 'hlFld-ContribAuthor'):
contributors.append(con.text) contributors.append(con.text)
num_citations = header.find('a', class_ = 'internalNav').text numc = header.find('div', class_ = 'articleMetrics_count')
if not numc.a:
num_citations = 0
else:
num_citations = numc.a.text
pub = Publication(article_title, publication_date, contributors, doi_url, pub = Publication(article_title, publication_date, contributors, doi_url,
subjects, num_citations) subjects, num_citations)
return pub return pub
...@@ -106,26 +110,34 @@ Subjects:''') ...@@ -106,26 +110,34 @@ Subjects:''')
print(*(pub.subjects), sep = ", ") print(*(pub.subjects), sep = ", ")
print('\nContributors:') print('\nContributors:')
print(*(pub.contributors), sep = ", ") print(*(pub.contributors), sep = ", ")
print(f'\nThis article is cited by the following {pub.num_citations} publications\n')
for citation in pub._citations: if int(pub.num_citations) > 0:
print(f''' if int(pub.num_citations) == 1:
print(f'\nThis publication is cited by the following publication:\n')
else:
print(f'\nThis publication is cited by the following {pub.num_citations} publications:\n')
for citation in pub._citations:
print(f'''
Title: {citation.title} Title: {citation.title}
Journal: {citation.journal} Journal: {citation.journal}
Contributors: {citation.contributors} Contributors: {citation.contributors}
DOI-URL: {citation.doi_url} DOI-URL: {citation.doi_url}
''') ''')
else:
print('\nThis publication is not cited by any other publication.')
def input(url): def input(url):
html_text = req.get(url).text html_text = req.get(url).text
soup = bs(html_text, 'html.parser') soup = bs(html_text, 'html.parser')
pub = get_article_info(soup) pub = get_article_info(soup)
get_citation_info(pub, int(pub.num_citations), soup) if int(pub.num_citations) > 0:
get_citation_info(pub, int(pub.num_citations), soup)
return pub return pub
if len(sys.argv) != 2: #if len(sys.argv) != 2:
sys.stderr.write('Usage: {} <url>\n'.format(sys.argv[0])) # sys.stderr.write('Usage: {} <url>\n'.format(sys.argv[0]))
exit(1) # exit(1)
url = sys.argv[1] #url = sys.argv[1]
pub = input(url) #pub = input(url)
print_pub_info(pub) #print_pub_info(pub)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment