【python】用python爬取中科院院士简介信息
018/07/09 23:43
项目名称:爬取中科院871个院士的简介信息
1.爬取目的:中科院871个院士的简介信息


2.爬取最终结果:


3.具体代码如下:
import re # 不用安装(注意!!)
import os # 文件夹等的操作(注意!!)
import time
import requests # http urllib2 url = 'http://www.cae.cn/cae/html/main/col48/column_48_1.html'
html = requests.get(url)
# print(html.status_code) # 状态码200 404 500 502
html.encoding = 'utf-8'
# print(html.text) # 以文本形式返回网页 # 提取数据
# + 一次或多次 大于等于一次
# findall返回的是列表(注意!!)
number = re.findall(
'<a href="/cae/html/main/colys/(\d+).html" target="_blank">', html.text) i = 1 # 这里的i变量是由我创造进行明确区分所抓取的院士的数量的;
for m in number[:871]:
# for m in number[:4]: # 这里控制要爬取的个数
# for m in number[28:88]:
nextUrl = 'http://www.cae.cn/cae/html/main/colys/{}.html'.format(m)
# 再次请求数据
nexthtml = requests.get(nextUrl)
nexthtml.encoding = 'utf-8'
# 注意正则表达式:
# () 提取数据
# . 匹配除了换行\n的任意单个字符
# * 匹配前面的表达式任意次 {1,5}
# ? 如果前面有限定符 非贪婪模式,注意!!!
# 尽量可能少的匹配所搜索的字符串
text = re.findall('<div class="intro">(.*?)</div>', nexthtml.text, re.S) # re.S匹配换行的
text2 = re.sub(r'<p>| | |</p>', '', text[0]).strip() # .strip()清楚空格 # 保存数据
with open(r'E:\02中科院院士信息爬取结果.txt', mode='a+', encoding="utf-8") as f: # 特别注意这里的要以编码utf-8方式打开
f.write('{}. '.format(i) + text2 + '\n')
i += 1 # 不要下载太快
# 限制下载的速度
time.sleep(1)
# 程序运行到这个地方 暂停1s
【python】用python爬取中科院院士简介信息的更多相关文章
- [Python爬虫] Selenium爬取新浪微博客户端用户信息、热点话题及评论 (上)
转载自:http://blog.csdn.net/eastmount/article/details/51231852 一. 文章介绍 源码下载地址:http://download.csdn.net/ ...
- Python爬虫项目--爬取自如网房源信息
本次爬取自如网房源信息所用到的知识点: 1. requests get请求 2. lxml解析html 3. Xpath 4. MongoDB存储 正文 1.分析目标站点 1. url: http:/ ...
- 【Python项目】爬取新浪微博个人用户信息页
微博用户信息爬虫 项目链接:https://github.com/RealIvyWong/WeiboCrawler/tree/master/WeiboUserInfoCrawler 1 实现功能 这个 ...
- python之scrapy爬取某集团招聘信息以及招聘详情
1.定义爬取的字段items.py # -*- coding: utf-8 -*- # Define here the models for your scraped items # # See do ...
- Python爬虫项目--爬取某宝男装信息
本次爬取用到的知识点有: 1. selenium 2. pymysql 3 pyquery 正文 1. 分析目标网站 1. 打开某宝首页, 输入"男装"后点击"搜索&q ...
- python之crawlscrapy爬取某集团招聘信息以及招聘详情
针对这种招聘信息,使用crawlscrapy很适合. 1.settings.py # -*- coding: utf-8 -*- # Scrapy settings for gosuncn proje ...
- python之scrapy爬取某集团招聘信息
1.创建工程 scrapy startproject gosuncn 2.创建项目 cd gosuncn scrapy genspider gaoxinxing gosuncn.zhiye.com 3 ...
- Python爬虫之爬取慕课网课程评分
BS是什么? BeautifulSoup是一个基于标签的文本解析工具.可以根据标签提取想要的内容,很适合处理html和xml这类语言文本.如果你希望了解更多关于BS的介绍和用法,请看Beautiful ...
- python爬取 “得到” App 电子书信息
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 静觅 崔庆才 PS:如有需要Python学习资料的小伙伴可以加点击下 ...
随机推荐
- 解决cdh4.5.0下 MAP任务看不到状态
参考 http://qnalist.com/questions/772595/yarn-jobhistory-service 在mapreduce-site.xml中添加 <property&g ...
- 第37章 基于SD卡的FatFs文件系统—零死角玩转STM32-F429系列
第37章 基于SD卡的FatFs文件系统 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.co ...
- Javascript与C#中使用正则表达式
JavaScript RegExp 对象 新建一个RegExp对象 new RegExp(pattern,[attributes]) 注: \d需要使用[0-9]来代替 参数 参数 ...
- 【Java】重载(Overload)与重写(Override)
方法的语法 修饰符 返回值类型 方法名(参数类型 参数名){ ... 方法体 ... return 返回值; } 重载(overload) /** * 重载Overload: * 同一个类中,多个方法 ...
- CocoaAsyncSocket使用
代理的.h文件 #import <Foundation/Foundation.h> #import "GCDAsyncSocket.h" typedef void(^S ...
- html5 canvas中CanvasGradient对象用法
html5 中canvas提供了强大的渲染样式,可以实现一些比较复杂的样式设置,今天学习了CanvasGradient对象可以实现一个颜色的渐变 CanvasGradient对象可以实现两种不同形式的 ...
- 洛谷P1437 [HNOI2004]敲砖块(dp)
题目背景 无 题目描述 在一个凹槽中放置了 n 层砖块.最上面的一层有n 块砖,从上到下每层依次减少一块砖.每块砖 都有一个分值,敲掉这块砖就能得到相应的分值,如下图所示. 14 15 4 3 23 ...
- mybatis两级缓存原理剖析
https://blog.csdn.net/zhurhyme/article/details/81064108 对于mybatis的缓存认识一直有一个误区,所以今天写一篇文章帮自己订正一下.mybat ...
- Maven - 依赖冲突
依赖冲突有两个规则: 短路优先范例:A -> B -> C -> X-2.0.0A -> D -> X-1.0.0那么A -> X-1.0.0这个版本 先声明优先范 ...
- LVS基于DR模式搭建负载均衡群集
LVS -DR模式集群架构原理图