python爬虫论文摘要怎么写_Python爬虫根据关键词爬取知网论文摘要并保存到数据库中【入门必学】...
搜索出来的结果和知网上的结果几乎一样,另外以后面试找Python工作,项目经验展示是核心,如果你缺项目练习,去小编的Python交流.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,里面很多新教程项目
在这个基础上,我简单看了些网页的结构,很容易就能写出爬取得代码(是最基础的,相当不完善,增加其他功能可自行增加)
网页的结构还是很清晰的
摘要信息也很清晰
我使用的是 pymysql 连接的数据库,效率也还可以
下面直接贴代码:
# -*- coding: utf-8 -*-
import time
import re
import random
import requests
from bs4 import BeautifulSoup
import pymysql
connection = pymysql.connect(host='',
user='',
password='',
db='',
port=3306,
charset='utf8') # 注意是utf8不是utf-8
# 获取游标
cursor = connection.cursor()
#url = 'http://epub.cnki.net/grid2008/brief/detailj.aspx?filename=RLGY201806014&dbname=CJFDLAST2018'
#这个headers信息必须包含,否则该网站会将你的请求重定向到其它页面
headers = {
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'Accept-Encoding':'gzip, deflate, sdch',
'Accept-Language':'zh-CN,zh;q=0.8',
'Connection':'keep-alive',
'Host':'www.cnki.net',
'Referer':'http://search.cnki.net/search.aspx?q=%E4%BD%9C%E8%80%85%E5%8D%95%E4%BD%8D%3a%E6%AD%A6%E6%B1%89%E5%A4%A7%E5%AD%A6&rank=relevant&cluster=zyk&val=CDFDTOTAL',
'Upgrade-Insecure-Requests':'1',
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36'
}
headers1 = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36'
}
def get_url_list(start_url):
depth = 20
url_list = []
for i in range(depth):
try:
url = start_url + "&p=" + str(i * 15)
search = requests.get(url.replace('\n', ''), headers=headers1)
soup = BeautifulSoup(search.text, 'html.parser')
for art in soup.find_all('div', class_='wz_tab'):
print(art.find('a')['href'])
if art.find('a')['href'] not in url_list:
url_list.append(art.find('a')['href'])
print("爬取第" + str(i) + "页成功!")
time.sleep(random.randint(1, 3))
except:
print("爬取第" + str(i) + "页失败!")
return url_list
def get_data(url_list, wordType):
try:
# 通过url_results.txt读取链接进行访问
for url in url_list:
i = 1;
if url == pymysql.NULL or url == '':
continue
try:
html = requests.get(url.replace('\n', ''), headers=headers)
soup = BeautifulSoup(html.text, 'html.parser')
except:
print("获取网页失败")
try:
print(url)
if soup is None:
continue
# 获取标题
title = soup.find('title').get_text().split('-')[0]
# 获取作者
author = ''
for a in soup.find('div', class_='summary pad10').find('p').find_all('a', class_='KnowledgeNetLink'):
author += (a.get_text() + ' ')
# 获取摘要
abstract = soup.find('span', id='ChDivSummary').get_text()
# 获取关键词,存在没有关键词的情况
except:
print("部分获取失败")
pass
try:
key = ''
for k in soup.find('span', id='ChDivKeyWord').find_all('a', class_='KnowledgeNetLink'):
key += (k.get_text() + ' ')
except:
pass
print("第" + str(i) + "个url")
print("【Title】:" + title)
print("【author】:" + author)
print("【abstract】:" + abstract)
print("【key】:" + key)
# 执行SQL语句
cursor.execute('INSERT INTO cnki VALUES (NULL, %s, %s, %s, %s, %s)', (wordType, title, author, abstract, key))
# 提交到数据库执行
connection.commit()
print()
print("爬取完毕")
finally:
print()
if __name__ == '__main__':
try:
for wordType in {"大肠杆菌", "菌群总落", "胭脂红", "日落黄"}:
wordType = "肉+" + wordType
start_url = "http://search.cnki.net/search.aspx?q=%s&rank=relevant&cluster=zyk&val=" % wordType
url_list = get_url_list(start_url)
print("开始爬取")
get_data(url_list, wordType)
print("一种类型爬取完毕")
print("全部爬取完毕")
finally:
connection.close()
在这里的关键词我简单的选了几个,作为实验,如果爬取的很多,可以写在txt文件里,直接读取就可以,非常方便。
python爬虫论文摘要怎么写_Python爬虫根据关键词爬取知网论文摘要并保存到数据库中【入门必学】...相关推荐
- python爬取知网论文关键词_Python爬虫根据关键词爬取知网论文摘要并保存到数据库中【入门必学】...
搜索出来的结果和知网上的结果几乎一样,另外以后面试找Python工作,项目经验展示是核心,如果你缺项目练习,去小编的Python交流.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,里面很多新 ...
- python爬知网全文期刊数据库_Python爬虫根据关键词爬取知网论文摘要并保存到数据库中【入门必学】...
搜索出来的结果和知网上的结果几乎一样,另外以后面试找Python工作,项目经验展示是核心,如果你缺项目练习,去小编的Python交流.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,里面很多新 ...
- python爬虫论文摘要怎么写_Python爬虫基础教学(写给入门的新手)
... html文本的标签一般都是成双成对,有始有终的,比如 和是一队,千万不能拆散,拆散就乱套了.少数除外比如 是换行用的,可以不用配对. 这里我们主要讲body标签,网页的主要内容都是在这个标签里 ...
- python爬取知网论文信息
用Python爬取指望关于某个主题的所有论文摘要等信息. 很幸运的找到了一个大佬的代码来自己改改改! 先放大佬代码连接 Git 接下来就是我自己嚯嚯嚯改的,很小白的了... 应该是很详细得了 为了看懂 ...
- python爬虫论文摘要怎么写_毕业论文-基于Python 的网络爬虫.docx
北京林业大学本科毕业论文(设计) PAGE \* MERGEFORMATI 基于Python的网络爬虫 摘要 随着计算机技术的不断发展,新的编程语言层出不穷,Python,Html正是其中的佼佼者.相 ...
- python爬虫用什么软件写_python爬虫怎么写
如今很多有编程能力的小伙伴已经不满足手动搜索内容了,都希望通过编写爬虫软件来快速获取需要的内容,那么如何使用python制作爬虫呢?下面小编给大家讲解一下思路 工具/原料 python 方法/步骤 1 ...
- python爬虫论文总结与展望_python爬虫回顾与总结
网络爬虫(网络蜘蛛) 一.爬虫的介绍 网络爬虫,是一种按照一定规律.自动获取互联网信息的程序或者脚本.根据用户需求定向抓取相关网页并分析. 二.爬虫的本质 模拟浏览器打开网页,获取网页中我们想要的那部 ...
- 利用python编写爬虫程序,从招聘网站上爬取数据,将数据存入到MongoDB数据库中,将存入的数据作一定的数据清洗后做数据分析,最后将分析的结果做数据可视化
教程演示 创建爬虫项目 编写需要爬取的字段(items.py) 编写spider文件(wuyou.py) 编写数据库连接(pipelines.py) 编写反爬措施(settings.py) Mongo ...
- python爬虫实战笔记---以轮子哥为起点Scrapy爬取知乎用户信息
开发环境:python3.5+Scrapy+pycharm+mongodb 思路: 1.选定起始人:选定一个关注数量或粉丝数量多的大佬 2.获取粉丝和关注列表 3.获取列表用户信息 4.获取每位用户粉 ...
最新文章
- SSH连接问题:1.Software caused connection abort2.client_loop: send disconnect: Connection reset
- 最佳时间 (DOM编程艺术)
- webToImage (网页转图片)模块试用分享
- docker对数据卷进行还原操作
- python安装模块时读取超时_Windows在pip install tensorflow遇到的问题 一些python安装包的时候,超时问题以及权限问题...
- C/C++与Matlab混合编程初探
- oracle orion hugepages_settings.sh(支持OEL 7,4.1内核)
- young people can also be a leader
- LeetCode 第 28 场双周赛(505/2144,前23.6%)
- curl在android服务器上编译,Android curl的上载编译和使用
- Apocalypse Someday(POJ-3208)
- $(document).ready() 与 window.onload 的区别
- 前端基础进阶之Promise
- 三大抽样分布——卡方分布、t分布、F分布
- 【滤波器】4. 反相输入有源低通滤波器
- php制作judge评测机,HelloJudge2-Judger
- win10升级补丁_干掉烦人的win10升级助手gwx
- 100以内的质数及100以内质数的和
- java 三边求面积_已知三角形的三边长如何求面积?
- 恒温烙铁使用注意事项
热门文章
- 【总结整理】自带天气app,为什么还要下载
- 我的世界java版和windows版_我的世界基岩版与Java版有什么区别?
- 2019第二届北京国际无人值守零售展览会【官宣】
- 前端移动端superslide插件(使用方法)
- Web基础 ( 一 ) HTML
- 跨模态行人重识别cm-SSFT:Cross-modality Person re-identification with Shared-Specific Feature Transfer 学习笔记
- (一)Open Image Dataset V5概述
- 【MySQL】事务及其隔离性/隔离级别
- 事务到底是隔离还是不隔离?
- MySQL事务隔离级别是怎么实现的?