学术论文信息页面"/>
十几行代码爬取百度学术论文信息页面
今天做一个项目时,发现需要批量获取百度学术文献的信息,通过大量的搜集资料,发现之前的相关资料已经失效,在一个大佬的文章()的启发下,更新了一下爬虫,如下(灵活使用soup的各种方法):
import requests
from bs4 import BeautifulSoup
url="=1b42b25b1953801074726c8b96fadd3e&site=xueshu_se"
res=requests.get(url).text
soup=BeautifulSoup(res,'lxml')
title=''.join(soup.select('.main-info > h3 > a')[0].stripped_strings)
print(title)
authors=soup.select('.author_text > span > a')
authors_list=[]
for author in authors:authors_list.append(author.text)
print(authors_list)
abstract=soup.select('.abstract')[0].text
keyword=soup.find(name='p',attrs={'data-click':"{'button_tp':'keyword'}"}).text
doi=soup.find(name='p',attrs={'data-click':"{'button_tp':'doi'}"}).text.strip()
ref_num=soup.find(name='a',attrs={'data-click':"{'button_tp':'sc_cited'}"}).text.strip()
year=soup.find(name='p',attrs={'data-click':"{'button_tp':'year'}"}).text.strip()
result={'title':title,'author':authors_list,'abstract':abstract,'keyword':keyword,'DOI':doi,'ref_num':ref_num,'year':year
}
print(result)
输出:
{
'title': '不良贷款约束下的中国上市商业银行效率和全要素生产率研究——基于SBM方向性距离函数的实证分析',
'author': ['王兵', '朱宁'],
'abstract': '本文运用SBM方向性距离函数和Luenberger生产率指标测度了2003—2009年中国11家上市商业银行不良贷款约束下的效率和全要素生产率增长,并对影响效率和全要素生产率的宏观因素进行了实证分析.研究结果发现:股份制商业银行的效率优于大型商业银行,非利息收入和不良贷款是银行无效率的主要来源;中国银行业的全要素生产率是增长的,股份制商业银行的全要素生产率高于大型商业银行,主要体现在规模效率变化和技术规模变化;外资银行的进入和M2的供给增长对中国银行业的发展起到推动作用.','keyword': '\n不良贷款\nSBM方向性距离函数\nLuenberger生产率指标\n','DOI': 'CNKI:SUN:JRYJ.0.2011-01-011','ref_num': '432','year': '2011'
}
如果更加优化的方案请批评指正!
更多推荐
十几行代码爬取百度学术论文信息页面
发布评论