资源简介
CNKICrawler
# 中国知网爬虫
## 可以爬取文章的全部信息,包括文章名、作者、作者单位、被引用次数、下载次数、文章来源、文章关键词、文章摘要、文章参考文献,文章详情页面url
## 需要安装的工具有:BeautifulSoup, xlwt
### 使用python3.x
### 运行spider_main.py即可,生成的结果文件为:data_out.xls,配置文件为Config.conf
代码片段和文件信息
# -*- coding: utf-8 -*-
from configparser import ConfigParser
from urllib.parse import quote
import socket
import os
import math
import urllib.request
from bs4 import BeautifulSoup
import time
import spider_search_page
import spider_paper
if __name__ == ‘__main__‘:
start = time.clock()
cf = ConfigParser()
cf.read(“Config.conf“ encoding=‘utf-8‘)
keyword = cf.get(‘base‘ ‘keyword‘)# 关键词
maxpage = cf.getint(‘base‘ ‘maxpage‘)# 最大页码
searchlocation = cf.get(‘base‘ ‘searchlocation‘) #搜索位置
currentpage = cf.getint(‘base‘ ‘currentpage‘)
if os.path.exists(‘data-detail.txt‘) and currentpage == 0:
print(‘存在输出文件,删除该文件‘)
os.remove(‘data-detail.txt‘)
#构造不同条件的关键词搜索
values = {
‘全文‘: ‘qw‘
‘主题‘: ‘theme‘
‘篇名‘: ‘title‘
‘作者‘: ‘author‘
‘摘要‘:‘abstract‘
}
keywordval = str(values[searchlocation])+‘:‘+str(keyword)
index_url=‘http://search.cnki.com.cn/Search.aspx?q=‘+quote(keywordval)+‘&rank=&cluster=&val=&p=‘#quote方法把汉字转换为encodeuri?
print(index_url)
#获取最大页数
html = urllib.request.urlopen(index_url).read()
soup = BeautifulSoup(html ‘html.parser‘)
pagesum_text = soup.find(‘span‘ class_=‘page-sum‘).get_text()
maxpage = math.ceil(int(pagesum_text[7:-1]) / 15)
#print(maxpage)
cf = ConfigParser()
cf.read(“Config.conf“ encoding=‘utf-8‘)
cf.set(‘base‘ ‘maxpage‘ str(maxpage))
cf.write(open(‘Config.conf‘ ‘w‘ encoding=‘utf-8‘))
for i in range(currentpage maxpage):
page_num=15
page_str_num=i*page_num
page_url=index_url+str(page_str_num)
print(page_url)
attempts = 0
success = False
while attempts < 50 and not success:
try:
spider_search_page.get_paper_url(page_url)
socket.setdefaulttimeout(10) # 设置10秒后连接超时
success = True
except socket.error:
attempts += 1
print(“第“+str(attempts)+“次重试!!“)
if attempts == 50:
break
except urllib.error:
attempts += 1
print(“第“+str(attempts)+“次重试!!“)
if attempts == 50:
break
cf.set(‘base‘ ‘currentpage‘ str(i))
cf.write(open(“Config.conf“ “w“ encoding=‘utf-8‘))
spider_paper.spider_paper()# spider_paper补全文章信息
end = time.clock()
print (‘Running time: %s Seconds‘%(end-start))
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
....... 1045 2017-06-15 15:40 CNKICrawler-master\CNKICrawler-master\.gitignore
....... 167 2017-06-15 15:40 CNKICrawler-master\CNKICrawler-master\Config.conf
....... 174592 2017-06-15 15:40 CNKICrawler-master\CNKICrawler-master\data_out.xls
....... 11357 2017-06-15 15:40 CNKICrawler-master\CNKICrawler-master\LICENSE
....... 613 2017-06-15 15:40 CNKICrawler-master\CNKICrawler-master\README.md
....... 66113 2017-06-15 15:40 CNKICrawler-master\CNKICrawler-master\result.png
....... 2664 2017-06-15 15:40 CNKICrawler-master\CNKICrawler-master\spider_main.py
....... 5919 2017-06-15 15:40 CNKICrawler-master\CNKICrawler-master\spider_paper.py
....... 1317 2017-06-15 15:40 CNKICrawler-master\CNKICrawler-master\spider_search_page.py
目录 0 2017-06-15 15:40 CNKICrawler-master\CNKICrawler-master
目录 0 2020-11-19 08:34 CNKICrawler-master
----------- --------- ---------- ----- ----
263787 11
- 上一篇:python实现一元线性回归.py
- 下一篇:量子计算与量子信息
相关资源
- python爬虫爬取微博热搜
- python爬虫爬取旅游信息(附源码,c
- python爬虫爬取豆瓣电影信息
- 爬取上百张妹子图源码可直接运行
- Python爬虫实战入门教程
- 网络爬虫(pachong_anjuke.py)
- 2019届华为软件精英挑战赛A*算法实现
- Python-京东抢购助手包含登录查询商品
- python网络爬虫获取景点信息源码
- 3D打印机控制软件Cura源码
- python爬取维基百科程序语言消息盒(
- python新浪微博爬虫
- 12306爬虫实现
- 中国裁判文书网爬虫
- Python爬虫相关书籍.zip
- 豆瓣电影排行爬虫
- 疫情数据爬虫并绘制柱状图.py
- python新浪微博爬虫,爬取微博和用户
- Python数据爬虫及可视化分析
- python火车票查询软件及源码
- 一套最新价值1680元的python爬虫实战全
- 测试工程师相关学习视频(包含pyth
- 11-Python爬虫工程师-App抓取进阶
- 基于10000网页python搭建搜索引擎课程设
- 法律判决文书python爬虫、以及数据处
- python新浪微博爬虫,爬取微博和用户
- Python网络爬虫实战.epub
- Python爬虫、Flask框架与ECharts实现数据
- Python爬虫入门到实战 (二花) PDF版
- python网络爬虫爬取整个网页
评论
共有 条评论