利用爬虫将PDF的参考文献放在word中
import selenium.common.exceptions as sele_error
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from bs4 import BeautifulSoup
import selenium
from selenium import webdriver
import urllib
import random
import time
import refile= "./未找到的参考文献.txt" #记录没有爬取到的参考文献名字
file1= "./bbb.txt" #pdf里面的参考文献
file_to_w= "./real.txt" #写入的txt
url= "http://xueshu.baidu.com/"'''
[32] A. Gretton, A. Smola, J. Huang, M. Schmittfull, K. Borgwardt, and
B. Schölkopf, ‘‘Covariate shift by kernel mean matching,’’ Dataset shift
Mach. Learn., vol. 3, no. 4, pp. 131–160, 2009.
'''
'''
<input name="wd" id="kw" maxlength="256" class="s_ipt" autocomplete="off" type="text">
'''def get_name(string):names= re.findall(",.*?‘‘(.*?)’’",string,re.S)if len(names)== 0:return ""return names[-1].strip(",")# a= get_name('''
# [32] A. Gretton, A. Smola, J. Huang, M. Schmittfull, K. Borgwardt, and
# B. Schölkopf, ‘‘Covariate shift by kernel mean matching,’’ Dataset shift
# Mach. Learn., vol. 3, no. 4, pp. 131–160, 2009.
# ''')
# print(a)def get_real_name(driver,name_to_search):# driver= webdriver.Firefox()# driver.set_page_load_timeout(20)try:try:input= driver.find_element_by_id("kw")except sele_error.NoSuchElementException:try:driver.switch_to.default_content()try:input= driver.find_element_by_id("kw")except sele_error.NoSuchElementException:driver.back()locator = [By.ID, "kw"]WebDriverWait(driver, 60, 1).until(EC.presence_of_element_located(locator))input= driver.find_element_by_id("kw")except Exception as e:with open(file,'a+') as f:f.write("%s\n"%name_to_search)input.click()input.send_keys(name_to_search)key= driver.find_element_by_id("su")key.click()time.sleep(random.randint(0,3))'''<a class="sc_q c-icon-shape-hover" href="javascript:;" data-link="http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=6279353"data-sign="9f7be0c76448d79a7e0fe57d68b5b62e" data-click="{'button_tp':'cite'}"title="引用"><i class="iconfont icon-cite"></i>引用</a>'''try:locator= [By.CSS_SELECTOR,"a[class=\"sc_q c-icon-shape-hover\"]"]WebDriverWait(driver,10,1).until(EC.presence_of_element_located(locator))except:locator = [By.CSS_SELECTOR, "a[class=\"sc_q\"]"]WebDriverWait(driver, 10, 1).until(EC.presence_of_element_located(locator))get_way = driver.find_elements_by_css_selector("a[class=\"sc_q\"]")[0]get_way.click()time.sleep(random.randint(0, 3))locator = [By.CSS_SELECTOR, "div[class=\"sc_quote_list_item_r\"]"]WebDriverWait(driver, 30, 1).until(EC.presence_of_element_located(locator))soup = BeautifulSoup(driver.page_source)driver.back()div_ = str(soup.find_all(name="div", attrs={"class": "sc_quote_list_item_r"})[0])return re.findall(">(.*?)</div>", div_, re.S)[0]get_way= driver.find_elements_by_css_selector("a[class=\"sc_q c-icon-shape-hover\"]")[0]get_way.click()time.sleep(random.randint(0, 3))'''<div class="sc_quote_list_item_r" data-type="GB/T" tabindex="0"id="sc_cit0">Quiñonero-Candela J, Sugiyama M, Schwaighofer A, et al. Covariate Shift by Kernel Mean Matching[C]// MIT Press, 2009:131-160.</div>'''locator= [By.CSS_SELECTOR, "div[class=\"sc_quote_list_item_r\"]"]WebDriverWait(driver, 30, 1).until(EC.presence_of_element_located(locator))soup= BeautifulSoup(driver.page_source)driver.back()div_= str(soup.find_all(name="div",attrs={"class":"sc_quote_list_item_r"})[0])return re.findall(">(.*?)</div>",div_,re.S)[0]except Exception as e:driver.back()print(e)with open(file, 'a+') as f:f.write("%s\n" % name_to_search)if __name__ == "__main__":need= str(open(file1,'r').read()).replace("\n","").split("[")driver = webdriver.Firefox()driver.set_page_load_timeout(20)driver.get(url)locator = [By.ID, "kw"]WebDriverWait(driver, 60, 1).until(EC.presence_of_element_located(locator))# with open(file_to_w,'a+',encoding="utf-8") as f1:index= 1for value in need:name= get_name(value)if name== "":continuename_to_write= get_real_name(driver,name)if isinstance(name_to_write,str):with open(file_to_w, 'a+', encoding="utf-8") as f1:f1.write("[%d] %s\n"%(index,name_to_write))index+= 1
利用爬虫将PDF的参考文献放在word中相关推荐
- 将pdf按页插入word中_如何将PDF插入Microsoft Word
将pdf按页插入word中 Microsoft Word provides a plethora of features for handling content. One of these uniq ...
- Endnote使用指南——Endnote导入参考文献到Word中
对于科研学子来说,EndNote(或NoteExpress)是管理文献的利器,能够快速筛选文献与录入参考文献,非常适用于参考文献较多的场合. 首先Endnote的安装这里就不赘述,直接附上安装包链接以 ...
- 从pdf复制文字到word中的问题
从pdf复制的一半的文字到word仍旧是排列再对应的一半,下面的方法是将!.?" 后的回车删掉 1.进入替换状态 2.点"更多"按钮 3.选中"使用通配符&qu ...
- 利用爬虫有道词典进行翻译python3中的内置函数属性功能
from urllib import request from urllib import parse import json import time import random import has ...
- 10行Python代码批量实现pdf转txt,word,提取表格到excel
在日常工作中,常常要把文档转格式,比如常见pdf转word,pdf转ppt等,如果数量少的话还好,可以直接去网上找网站解决,多了的话就比较麻烦了,因为很多网站都是限制一天只能转几个,再多就得冲vip. ...
- Word中使用交叉引用插入多个参考文献
Word中使用交叉引用插入多个参考文献 在word中的一个引用插入多个文献时,比如 第一步:点击交叉引用将[45].[47]这两个文献插入. ----------------- 第二步:右键刚插入的文 ...
- pdf格式的图片如何插入到word中
太长不看篇 1,在R中将图片保存为pdf格式 2,通过在线网站,将pdf转为png 3,将png粘贴到word中即可 背景0 今天做了一个相关性分析,以及可视化.可视化的图我在Rstudio中保存为p ...
- thinkphp6错误页面编辑_Windows10在Word中编辑PDF文件
在以前,如果我们需要编辑PDF文件,而复杂的PDF文件包含各种内容,逻辑结构元素以及注释,图层,富媒体,甚至文件附件和数字签名等交互元素.支持如此强大的PDF编辑,优先选择Adobe Acrobat. ...
- Endnote在Word中导入的参考文献忽然变成带有大括号类似{#}的代码的解决办法
最近用Endnote插入参考文献的时候,突然发现导入的参考文献变成了带有大括号类似{#}的代码,且导入压根不成功,这个问题目前我发现了两种不同的情况,下面分别记录一下解决办法: 这个是标题0.0 ...
最新文章
- Cygwin-添加到右键菜单脚本--一键安装、卸载
- cp -r dir1/. dir2 表示将dir1下的文件复制到dir2,不包括dir1目录
- 刚刚,阿里发布AI谣言粉碎机,识别准确率达81%
- db2数据库连接数 linux_linux db2 连接数据库
- [图神经网络] 图神经网络GNN基础入门
- transition
- springboot项目中关于时间类型转换的格式问题
- 2台主机的docker互相通信的方法
- android比较两个字符串,关于java:两个字符串的比较在android中不起作用
- 我的HTML学习之路02
- Atitit flowable使用总结 目录 1. flowable 1 1.1. 添加依赖 1 1.2. Flowable的启动接口 2 2. 还是使用简单流程来完成业务流程的学习, 2 2.1.
- 深度学习优化算法-AdaDelta算法
- MySQL卸载不干净问题
- 百问网7天物联网智能家居 学习心得 打卡第三天
- 一篇關於Android layout研究的文章[轉 from:http://blog.csdn.net/archimedes_zht/article/details/5333120]...
- arduion-step motor 28byj-48步进电机
- 分享下在国内发售的全系列联想小新平板的型号和对应的海外版
- 如何学习VB最新总结
- 超全的机器学习、深度学习视频课程和讲义的百度网盘下载
- 智慧医疗助力健康养老服务