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>|&ensp;|&nbsp;|</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爬取中科院院士简介信息的更多相关文章

  1. [Python爬虫] Selenium爬取新浪微博客户端用户信息、热点话题及评论 (上)

    转载自:http://blog.csdn.net/eastmount/article/details/51231852 一. 文章介绍 源码下载地址:http://download.csdn.net/ ...

  2. Python爬虫项目--爬取自如网房源信息

    本次爬取自如网房源信息所用到的知识点: 1. requests get请求 2. lxml解析html 3. Xpath 4. MongoDB存储 正文 1.分析目标站点 1. url: http:/ ...

  3. 【Python项目】爬取新浪微博个人用户信息页

    微博用户信息爬虫 项目链接:https://github.com/RealIvyWong/WeiboCrawler/tree/master/WeiboUserInfoCrawler 1 实现功能 这个 ...

  4. python之scrapy爬取某集团招聘信息以及招聘详情

    1.定义爬取的字段items.py # -*- coding: utf-8 -*- # Define here the models for your scraped items # # See do ...

  5. Python爬虫项目--爬取某宝男装信息

    本次爬取用到的知识点有: 1. selenium 2. pymysql 3  pyquery 正文 1. 分析目标网站 1. 打开某宝首页, 输入"男装"后点击"搜索&q ...

  6. python之crawlscrapy爬取某集团招聘信息以及招聘详情

    针对这种招聘信息,使用crawlscrapy很适合. 1.settings.py # -*- coding: utf-8 -*- # Scrapy settings for gosuncn proje ...

  7. python之scrapy爬取某集团招聘信息

    1.创建工程 scrapy startproject gosuncn 2.创建项目 cd gosuncn scrapy genspider gaoxinxing gosuncn.zhiye.com 3 ...

  8. Python爬虫之爬取慕课网课程评分

    BS是什么? BeautifulSoup是一个基于标签的文本解析工具.可以根据标签提取想要的内容,很适合处理html和xml这类语言文本.如果你希望了解更多关于BS的介绍和用法,请看Beautiful ...

  9. python爬取 “得到” App 电子书信息

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 静觅 崔庆才 PS:如有需要Python学习资料的小伙伴可以加点击下 ...

随机推荐

  1. 总结ing

    1,iOS的GCD中如何关闭或者杀死一个还没执行完的后台线程? 举例来说,我通过导航进入到了一个视图,这个视图加载的时候会新建一个线程在后台运行,假设这个线程需要从网络中读取许多数据,需要一定的时间, ...

  2. Java分享笔记:使用keySet方法获取Map集合中的元素

    /*--------------------------- Map集合中利用keySet方法获取所有的元素值: ....keySet方法:将Map中的所有key值存入到Set集合中, ....利用Se ...

  3. MySQL工作经验

    以下是根据工作中遇到各种场景用到的一些Mysql用法,比较实用,基本是语法之外的一些东西. 修改账户密码 1.打开Mysql控制台,输入原密码: 2.输入以下语法:mysql> set pass ...

  4. motto - Express 4.x Request对象获得参数方法

    本文搜索关键字:motto express node js nodejs javascript request body request.body 1. req.param() 该方法获得参数最为方便 ...

  5. SpringMVC注解@RequestParam解析

    1.可以对传入参数指定参数名 1 @RequestParam String inputStr 2 // 下面的对传入参数指定为param,如果前端不传param参数名,会报错 3 @RequestPa ...

  6. LeetCode977. 有序数组的平方

    问题:977. 有序数组的平方 给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序. 示例 1: 输入:[-4,-1,0,3,10] 输出:[0,1,9,1 ...

  7. MARK 一条关于Linux 运维方面个人向收藏网址

    吴钧泽博客 https://wujunze.com/archives.html Linux运维笔记 https://blog.linuxeye.cn/ Linux中文网 http://www.ppze ...

  8. 【PHP】nl2br转化输出input框的换行

    在input或者textarea框中输入的换行符保存到数据库是/n,如果直接输出到前端的话是不会有换行的,所以要用到nl2br转化 nl2br($test);

  9. JS常用数组方法及实例

    1.join(separator):将数组的元素组起一个字符串,以separator为分隔符 ,,,,]; var b = a.join("|"); //如果不用分隔符,默认逗号隔 ...

  10. PHP递归操作

    对于php的递归操作解释说明,递归基本上是学习每种语言都要会的最基本的操作.来吧,下面是我闲的时候随便写的一个对数组进行遍历操作的一个递归函数. 原理很简单,递归就是在一个函数里面调用自身的一种机制. ...