2 Star 2 Fork 0

Kalyn/Python数据挖掘-CNKI知网文章自动下载PDF及refwork

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

web-数据挖掘-期末-CNKI

项目描述

主题:媒体融合+人工智能大数据

数据目标:

  • 所爬取的数据预计用于“媒体融合+人工智能大数据”主题的数据分析
    • refworks文件——结合VOSviewer数据可视化
    • PDF文献原文——用于引文分析

数据结果:

  • 数据来源说明:出媒体融合+人工智能大数据主题下,来自北大核心、EI、CSD、SCI、CSSCI期刊的文献
  • 上述所有文献的refworks文件
  • 上述所有文件的PDF格式原文

主要思路

导出refworks

  • 全选——>翻页——>清除已选文章,继续翻页

下载PDF

逻辑流程图

输入图片说明

踩坑合集

指定浏览器的下载路径:

opts = webdriver.ChromeOptions()
# opts.add_argument('--incognito') # 无痕模式
prefs = {'profile.default_content_settings.popups': 0, 'download.default_directory': 'D:\\爬虫\\知网文章-PDF'}
opts.add_experimental_option('prefs', prefs)

网页截图方法

# 截图
element=driver.find_element_by_xpath('//*[@id="vImg"]')
# 选择存储路径
element.screenshot('C:\\Users\\zjl\\Desktop\\web数据挖掘\\web_img\\save.jpg')

上传文件并进行base64位编码

with open(r'C:\\Users\\zjl\\Desktop\\web数据挖掘\\web_img\\save.jpg', 'rb') as f:
        f1 = f.read()
    f1_base64 = str(base64.b64encode(f1), 'utf-8')

查询文件夹下文件

def check_file():
    E = os.listdir("D:\\爬虫\\测试")
    file_nmb = len(E)
    return file_nmb

超时处理

  • 由于网络或是其他不可抗力,网页常常加载缓慢,我们熟悉的报错:Timeout,就是因为这个。
# 加载时间过长
def timeout():
    print("进行超时处理")
    driver.set_page_load_timeout(10)
    while True:
        try:
            new_url = driver.current_url
            driver.get(new_url)
            break
        except:
            pass  

出现白屏/弹窗

  • “并发数已满”,“下载链接已过时”……
  • 其他的错误情况有很多,我们很难预计【比如我尝试去识别是否出现弹窗,点击确认后在进行下一步操作】
  • 但是!正确的情况之一个,那就是页面中存在验证码的图片,所以设置判断的条件时,应该从这方面入手,减少麻烦。

封装函数

  • 在循环与判断多的代码中(发现会写重复代码or需要跳出多层循环),尽量将功能在外部封装成函数。

验证码

  • 使用API进行OCR图像识别
  • 讯飞——精度不高,但文档说明清晰,适合初学者学习
  • 判断验证码是否正确——下载路径的文件夹中文章数是否增加

验证码的几种情况:

  • 验证码正确——下载成功,页面保持填写验证码时的页面,页面无变化
  • 验证码正确——未下载成功,页面无变化或是白屏
  • 输入的验证码(OCR识别出的结果)不满足“仅由数字或字母组成”and"四个字符"的条件——验证码不自动更换,出现提示词,页面不变
  • 页面中的验证码不自动更换就需要“点击验证码图片”,手动更换
  • 输入的验证码,符合上述条件,但不正确——验证码自动更换

其他

  • 进知网时,先检查登录状态!未登录无法下载
  • 知网专业检索的检索式书写难度大,使用者应该需要注意

数据可视化

数据可视化

空文件

简介

取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/zhang_jie_lin/web-data-mining-final-cnki.git
git@gitee.com:zhang_jie_lin/web-data-mining-final-cnki.git
zhang_jie_lin
web-data-mining-final-cnki
Python数据挖掘-CNKI知网文章自动下载PDF及refwork
master

搜索帮助