代码

from bs4 import BeautifulSoup               #网页解析,获取数据
import re                                   #正则表达式
import urllib.request,urllib.error          #指定URL,获取数据
import xlwt                                 #进行Excel操作
from urllib.error import URLErrordef main():start_url="https://scholar.google.com/scholar?start="end_url="&q=contrastive+self+supervised+learning&hl=zh-CN&as_sdt=0,5"datalist=getData(start_url,end_url)                                                    #爬取网页# #保存数据savepath=".\\data.xls"saveData(savepath,datalist)downLoadFileExist_reg=re.compile(r'<div class="gs_ggs gs_fl">')
downLoadFileLink_reg=re.compile(r'href="(.*?)">')
content_reg=re.compile(r'<div class="gs_ri">(.*?)<div class="gs_rs">')fileLink_reg=re.compile(r'href="(.*?)" id="')
fileName_reg=re.compile(r'<a data-clk="hl=zh-CN&amp;sa=T&amp;ct=res&amp;.*?">(.*?)</a>')periodicalTime_reg=re.compile(r'<div class="gs_a">.*?- (.*?)</div>')
quteNum_reg=re.compile(r'<div class="gs_fl">.*?hl=zh-CN">被引用次数:(.*?)</a>')def getData(start_url,end_url):datalist=[]start_num=0for i in range(0,2):url=start_url+str(start_num)+end_urlstart_num = start_num + 10html=askURL(url)#逐一解析soup=BeautifulSoup(html,"html.parser")for item in soup.find_all('div',class_="gs_r gs_or gs_scl"):data=[]item_str=str(item)if re.findall(downLoadFileExist_reg,item_str)==[]:downLoadFilelink=''else:downLoadFilelink=re.findall(downLoadFileLink_reg,item_str)[0]          #re通过正则表达式查找指定的字符串content_str=re.findall(content_reg,item_str)[0]fileLink=re.findall(fileLink_reg,content_str)[0]fileName=re.findall(fileName_reg,content_str)[0]fileName=re.sub('<b>','',fileName)fileName = re.sub('</b>', '', fileName)periodicalTime=re.findall(periodicalTime_reg,content_str)[0]periodicalTime = re.sub('<b>', '', periodicalTime)periodicalTime = re.sub('</b>', '', periodicalTime)periodicalTime = re.sub('\xa0', '', periodicalTime)quteNum=re.findall(quteNum_reg,item_str)if len(quteNum)==0:quteNum=''else:quteNum=quteNum[0]data.append(fileName)data.append(fileLink)data.append(periodicalTime)data.append(quteNum)data.append(downLoadFilelink)datalist.append(data)return datalistdef askURL(url):headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) ''Chrome/90.0.4430.93 Safari/537.36'}req = urllib.request.Request(url=url, headers=headers)try:res = urllib.request.urlopen(req, timeout=7)html=res.read().decode('utf-8')except URLError as e:if hasattr(e,"code"):print(e.code)if hasattr(e,"reason"):print(e.reason)return html#保存数据
def saveData(savepath,dataList):print("save......")book=xlwt.Workbook(encoding='utf-8',style_compression=0)sheet=book.add_sheet('self-supervised',cell_overwrite_ok=True)col=('fileName','fileLink','periodicalTime','quteNum','downLoadFilelink')for i in range(0,5):sheet.write(0,i,col[i])for i in range(0, len(dataList)):print("当前条数:",i)data=dataList[i]for j in range(0,len(data)):sheet.write(i+1,j,data[j])book.save(savepath)if __name__=="__main__":main()

google学术爬虫相关推荐

  1. Google学术分析公司科研实力:谷歌1161,华为110,为何差10倍?

      新智元报道   编辑:时光 桃子 拉燕 [新智元导读]各大科技公司的科研水平如何?基于Google Scholar(被引≥2000)数据显示,谷歌1161位研究人员上榜,华为110位,更有全球50 ...

  2. 用rvest包来抓取Google学术搜索数据

    2019独角兽企业重金招聘Python工程师标准>>> 在这篇文章,主要展示的是如何抓取Google学术网页.示例展示的是用rvest包来抓取作者博士指导老师的个人学术数据.我们可以 ...

  3. 使用Google学术自动生成标准的参考文献格式(Word版+LaTex版)

    记住是Google学术哦~ 超赞!不过现在百度学术.微软学术.搜狗学术.360学术等网站也都加了这个功能~ 在谷歌学术搜索中输入你想要放在[参考文献]中的书名或文章名,搜索结果中找到对应的条目(通常就 ...

  4. google 学术一直 sorry 怎么办?

    google 学术一直 sorry 怎么办? 被拉黑了.怎么办? 谷歌学术出现We're sorry解决办法 - roadwide - 博客园

  5. Google 学术搜索增加电子邮件提醒功能

    在Google学术搜索(Google Scholar)结果里,新出现了用邮件订阅与搜索关键字相关的新学术文章的功能.不过在Google Alerts里还找不到Google学术搜索的选项,另外现在只能通 ...

  6. 如何利用(微软学术)/(google学术)/google网页,聚焦最新科技文献,并获得PDF版

    当对一个研究领域感兴趣时,试着用关键字描述该领域: 1.关键字确定: 进入google学术:http://scholar.google.com.hk/ 用自己猜测的关键字搜索,而后观察结果文献,逐步确 ...

  7. 如何利用(微软学术)/(google学术)/google网页,聚焦最新科技文献,并获得PDF版...

    当对一个研究领域感兴趣时,试着用关键字描述该领域: 1.关键字确定: 进入google学术:http://scholar.google.com.hk/ 用自己猜测的关键字搜索,而后观察结果文献,逐步确 ...

  8. 重磅!Google学术发布2019年最有影响力的7篇论文!

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 来源于联盟博士翻译总结 正文共:7179 字 21 图                 预计阅读时间: 18 分钟 ...

  9. google学术,高级搜索怎么使用

    google学术,高级搜索怎么使用 学会使用个人学术档案 还可以参考这篇博客: google学术搜索如何限定(或者指定)期刊?_fK0pS的博客-CSDN博客_谷歌学术如何限定期刊

最新文章

  1. android组件化架构 书,Android MVVM组件化架构方案
  2. asp.net web开发框架_百小僧:拥抱.NET 5,从这个极速开发Web应用框架开始,Fur开源了!...
  3. 火狐插件youdao word capturer无法删除。
  4. VC windows 多网卡情况下 获取当前网卡ip地址
  5. python好用的内置库_第42p,time库,Python中优秀的内置库
  6. python函数isdisjoint方法_Python中的isdisjoint()函数
  7. 1k字让你理解死锁是什么?
  8. 阶段3 2.Spring_02.程序间耦合_4 曾经代码中的问题分析
  9. 5、WPF实现简单计算器-非常适合初学者练习
  10. 336 Palindrome Pairs 回文对
  11. 《数据挖掘》学堂在线【第一章:概述】习题答案参考与解析
  12. 既往不恋,当下不杂,未来不乱——读《怦然心动的人生整理魔法》
  13. Python小白基础--集合set
  14. JPS(Jump Point Search)寻路及实现代码分析
  15. 钉钉应用开发服务器API错误码原因及解决方法
  16. 四旋翼飞行器轨迹跟踪仿真MATLAB simulink/simscape
  17. Pandas库的学习
  18. 奶茶MM:爱上一个大叔,是野马遇上一片草原。
  19. Java外卖点餐送餐平台源码带手机端带文档(源码分享)
  20. 专属程序员的浪漫七夕

热门文章

  1. 信息系统开发与管理【七】之 系统实施
  2. Chukeh 小诸葛 .Net 通用类库
  3. ACM-ICPC 2018 南京赛区网络预赛 E. AC Challenge(状压dp)
  4. 大热的“滑板底盘”会以什么节奏落地?
  5. 小程序实现语音识别歌曲的功能,对接讯飞的api,踩坑篇!!
  6. 从零使用强化学习训练AI玩儿游戏(3)——使用Q-learning
  7. vue 用户点击不同的导航菜单,显示对应菜单所展示的区域
  8. 《CSDN博客搬家》
  9. awk,sed,grep
  10. abap源代码---正常生产订单打印/两种选择