# CNKICrawler **Repository Path**: tufeiping/CNKICrawler ## Basic Information - **Project Name**: CNKICrawler - **Description**: 帮姐姐做的爬取北京工业大学CNKI论文数据的爬虫 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 0 - **Created**: 2018-04-15 - **Last Updated**: 2021-12-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CNKICrawler 这里包含两个小工具: 1. 帮姐姐做的爬取北京工业大学CNKI论文数据的爬虫 2. 演示如何下载图片 ### 部署步骤 * 安装`Chrome`浏览器,由于Google的原因,导致国内下载Chrome很慢,请到百度软件中心搜索下载,或者到这里下载 * 下载`chromedriver`,并将其放在%PAHT%的路径下,比如`C:\Windows\System32`,下载地址http://chromedriver.storage.googleapis.com/index.html * `chromedriver`与`Chrome`的版本对应关系,详情参阅http://npm.taobao.org/mirrors/chromedriver,`chromedriver`下载列表每个版本目录的`notes.txt`文件都有与`Chrome`的版本对应 * 代码中带的默认的chromedriver.exe是针对Chrome v65-67 ### 环境依赖 1. Python 3.6.5 2. pip 10.0.1 3. Chrome 54+ 4. Visual Studio Code 版本 1.22.2 Node 7.9.0架构 x64 (开发环境) > 运行命令 `pip install --upgrade -r requirements.txt` 下载依赖包 ### 代码结构
+--data (数据生成目录)
|
+--framework (爬虫框架包)
|      |
|      +--brwutil.py (浏览器爬虫对象简单封装)
|      |
|      +--crawler.py (爬虫框架)
|      |
|      +--db.py (题录信息数据库保存sqlite)
|      |
|      +--db2xls.py (数据导出到excel支持)
+--sqlitespy (包含sqlite查询管理软件)
|
+--cnki.py (CNKI爬虫)
|
+--prepare.bat (安装运行环境)
|
+--requirements.txt (项目依赖的python库)
|
+--README.md (本文档)
|
+--pics (图片下载保存路径)
|
+--request.py (下载图片的脚本)
> 由于CNKI牵涉到大量的认证,脚本交互,如果单纯以HTTP协议方式来写爬虫,会非常麻烦,所以采用`selenium`框架,借助浏览器来获取最终渲染完毕的DOM数据! ### 爬虫编写说明 1. 所有的爬虫都应该继承自`Crawler`类 2. 改写`Crawler`类的 **get_page_count**,**get_items_urls**,**get_item** 三个方法 3. 可以参考**cnki.py**如何编写一个爬虫(这个爬虫算是非常复杂的爬虫了) > `def get_page_count(self)` 返回分页总数 > `def get_items_urls(self, page_index)` 根据提供的页码`page_index`参数(从0开始),返回一个`string[]`类型的url列表 > `def get_item(self, url)` 根据提供的`url`参数,返回一个`ReferenceItem`对象 ### 如何运行 下载cnki论文 > python cnki.py 下载图片例子 > python request.py #### Sunny 2018-04-16