1.连接下载.py
用来获取当前年份的文章下载连接,并将连接读取到 c.txt中;

注: 知网的文件连接 根据 年份 + 期数 + 第几个 就是拼接出具体某一篇文章的下载路径
如:2019年第一期的第一篇文件链接为:
https://kns.cnki.net/kcms/detail/detail.aspx?dbcode=CJFD&filename=YISY201901001

2.摘要下载.py

读取上面生成的c.txt文件,循环读取下载连接,将读取的内容写到d.txt文本中;
中间出现异常的连接,会自动跳过;

文件中的使用的是动态代理ip,proxy 中的内容就是动态代理的ip和端口
使用自己的会被知网封了,加入黑名单;

Python版本为3.x

模块1:

# -*- coding=UTF-8 -*-import time
import datetime
import requests
import re
import os
from bs4 import BeautifulSoup
from requests.exceptions import ConnectionError, ReadTimeout
##
def doDown():countYear = int(datetime.datetime.now().strftime('%Y'))print(countYear)print('当前为', countYear, '年数据连接')#4个模块for i in range(1, 4):#每个模块30个列表print(i)for j in range(1, 30):#拼接数据if j < 10:url = 'https://kns.cnki.net/kcms/detail/detail.aspx?dbcode=CJFD&filename=YISY' + str(countYear) + '0' + str(i) + '00' + str(j)else:url = 'https://kns.cnki.net/kcms/detail/detail.aspx?dbcode=CJFD&filename=YISY' + str(countYear) + '0' + str(i) + '0' + str(j)print(url)with open("c.txt", 'a') as file:file.write('\n' + url)file.close()
if __name__ == '__main__':doDown()
# -*- coding=utf-8 -*-import time
import datetime
import requests
import re
import os
import random
from bs4 import BeautifulSoup
from requests.exceptions import ConnectionError, ReadTimeout
##
headers2 = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36'}
cookies = {'Cookie': 'ASP.NET_SessionId=04kvxfczofgsnqanxayw5twy; SID_navi=120162; cnkiUserKey=6c764210-5480-5645-eccc-02ec772592d7; Ecp_ClientId=1191218194104202263; Ecp_IpLoginFail=191218111.167.199.201; _pk_ses=*'}
param = {'Accept': 'text/html, */*; q=0.01','Accept - Encoding': 'gzip, deflate','Accept - Language': 'zh-CN,zh;q=0.9','Connection': 'keep - alive','Content - Type': 'application / x - www - form - urlencoded;charset = UTF - 8','Host': 'yuanjian.cnki.net','Origin': 'http://navi.cnki.net','Referer': 'http://navi.cnki.net/KNavi/JournalDetail?pcode=CJFD&pykm=YISY','X - Requested - With': 'XMLHttpRequest'}
formdata = {'pykm': 'YISY','pcode': 'CJFD','pageIdx': '0','type': '2'}
proxy = {'http':'http://49.71.63.0:4582','https':'https://49.71.63.0:4582'
}def getURL(url): #发送网络请求a = requests.post(url, data=formdata, headers=headers2, cookies=cookies, proxies=proxy) #使用代理#a = requests.post(url, data=formdata, headers=headers2, cookies=cookies) #不使用代理# a=requests.post(url, data=formdata, headers=headers2, cookies=cookies, params=param)#a.encoding = 'utf-8' #改变乱码问题html = a.textreturn htmldef doDown():#循环读取连接:with open("c.txt", 'r') as file:for url in file:try:print(url[-10:-6],'年','第',url[-6:-4],'第',url[-3:],'篇')  # 截取倒数第三位与倒数第一位之前的字符print('当前处理的url为:',url)#请求知网#html = getURL(url)soup = BeautifulSoup(getURL(url), 'html.parser')#print(soup)soup2 = soup.find('div', class_='wxBaseinfo').find_all('p')[0]title = soup.find('title').textgaiyao = soup2.findAll('span')[0].contents[0]#print(soup.find('title').text)  # 标题#print(soup2.findAll('span')[0].contents[0])  # 概要with open("d.txt", 'a') as file:#file.write('\n' + url[-10:-6]+'年'+'第'+url[-6:-4]+'第'+url[-3:])#file.write('\n' + '标题:' + title)file.write('\n' + '摘要:' + gaiyao)file.write('\n')file.close()time.sleep(0.5)except Exception as ex:print("出现如下异常%s"%ex,url)continue
if __name__ == '__main__':doDown()

Python3使用代理爬取某网文献摘要(完整源码)相关推荐

  1. 使用Scrapy、PhantomJS和Selenium爬取知网文献摘要

    使用Scrapy.PhantomJS和Selenium爬取知网文献摘要.以下例子用于爬取"医药卫生科技"类文献摘要. 1.使用Scrapy创建项目 scrapy startproj ...

  2. Python2 Python3 爬取赶集网租房信息,带源码分析

    *之前偶然看了某个腾讯公开课的视频,写的爬取赶集网的租房信息,这几天突然想起来,于是自己分析了一下赶集网的信息,然后自己写了一遍,写完又用用Python3重写了一遍.之中也遇见了少许的坑.记一下.算是 ...

  3. python抓取文献关键信息,python爬虫——使用selenium爬取知网文献相关信息

    python爬虫--使用selenium爬取知网文献相关信息 写在前面: 本文章限于交流讨论,请不要使用文章的代码去攻击别人的服务器 如侵权联系作者删除 文中的错误已经修改过来了,谢谢各位爬友指出错误 ...

  4. Python多线程遍历爬取FTP文件(附可实现源码)

    目录 应用目标 思路分析 1.扫描网段 2.远程建立FTP连接 3.遍历读取写入文件 完整源码(可运行) 写在最后 应用目标 1.扫描网段,获取其中所有的开放FTP服务的机器的IP地址 2.依次遍历获 ...

  5. 利用CnkiSpider包快速爬取知网文献信息

    CnkiSpider使用指南(by@zemengchuan) GitHub链接:https://github.com/zemengchuan/CnkiSpider 用途: CnkiSpider可以通过 ...

  6. scrapy爬取字幕组今日更新影视-附源码

    由于本人比较喜欢看美剧,字幕组的美剧资源更新又是非常快的,而本人scrapy爬虫写的也比较多,同时维护了一个小小的影视站给朋友下载,就想着能不能够用脚本实现每天的字幕组影视资源的更新与抓取,googl ...

  7. python爬网页源码_python爬虫爬取网页的内容和网页源码不同?

    可以看到这里id为k_total的元素值不同,爬出来是1,网页源码是55. 附还未完成的代码:import requests from bs4 import BeautifulSoup import ...

  8. python爬取付费直播的视频_教你用20行代码爬取直播平台弹幕(附源码)

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. Python爬虫.数据分析.网站开发等案例教程视频免费在线观看 https://space. ...

  9. python获取虎牙弹幕_教你用20行代码爬取直播平台弹幕(附源码)

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. Python爬虫.数据分析.网站开发等案例教程视频免费在线观看 https://space. ...

  10. python爬取新浪微博内容_python新浪微博爬虫,爬取微博和用户信息 (含源码及示例)...

    [实例简介] 这是新浪微博爬虫,采用python+selenium实现. 免费资源,希望对你有所帮助,虽然是傻瓜式爬虫,但是至少能运行.同时rar中包括源码及爬取的示例. 参考我的文章: http:/ ...

最新文章

  1. gnome3增加自定义程序快捷方式
  2. 如何在工作中快速成长?致工程师的10个简单技巧
  3. Java实现归并排序 Merge Sort
  4. 荷兰警方错买300万欧元Office套件 法院:微软无需退款
  5. linux系统下nginx安装目录和nginx.conf配置文件目录
  6. PyTorch:模型训练和预测
  7. Asp.net MVC中如何实现依赖注入(DI)(二)
  8. MATLAB简单入门
  9. JavaScript --------WebS APIs学习之本地存储
  10. 简单的C语言顺序结构例题介绍
  11. 网站在线工具查询链接收录与优化文章收录情况
  12. patterns in java_Patterns-in-Java
  13. 把Python代码封装成exe(windows的可执行程序)
  14. ITRON入门之任务(TASK)的理解
  15. 【Linux】WSL
  16. 加密狗圣天诺LDK V7.5特性
  17. 存储器容量的扩充以及DRAM
  18. 用Java编写2到100之间的素数;判断一个数是不是素数
  19. 如何对网站漏洞修补进行渗透测试
  20. 编程基础知识(变简单的进制转换)

热门文章

  1. Ubuntu 出现/usr/bin/ld: cannot find -lXp的问题
  2. 编出个区块链:数据结构的序列化,看看数字货币如何传输数据
  3. java 日程日历_java编程:我要做一个提醒日程的软件,不是要用到日历和时钟么,这要不要自己编,还是可以直接同步电脑上...
  4. K-means之亚洲杯
  5. Windows 7/Vista 桌面快捷方式小箭头变成黑块,如何恢复?
  6. Google Play商店的各种报错解释以及修复方法。
  7. Windows下USB驱动开发入门小结
  8. 发现一个可以让程序员提神的方法
  9. 管理学必读书籍排行榜
  10. 笔记本卡顿不流畅是什么原因_电脑卡顿不流畅是什么原因?