2017年12月03日 16:43:01 独行侠的守望 阅读数:204 标签: python爬虫 更多
个人分类: Python
编辑
版权声明:本文为博主原创文章,转载请注明文章链接。 https://blog.csdn.net/xiaoanzi123/article/details/78700863
学习地址:http://www.imooc.com/learn/563 慕课网
课程须知
本课程是Python语言开发的高级课程1、Python编程语法;2、HTML语言基础知识;3、正则表达式基础知识;
老师告诉你能学到什么?
1、爬虫技术的含义和存在价值
2、爬虫技术架构
3、组成爬虫的关键模块:URL管理器、HTML下载器和HTML解析器
4、实战抓取百度百科1000个词条页面数据的抓取策略设定、实战代码编写、爬虫实例运行
5、一套极简的可扩展爬虫代码,修改本代码,你就能抓取任何互联网网页!
★第一章
课程介绍:
课程进行简单的爬虫讲解----不需要登录的静态网页抓取
1、爬虫简介
2、简单爬虫架构
3、URL管理器
4、网页下载器urllib2
5、网页解析器beautifulsoup
6、完整实例 爬虫百度百科
★第二章,
爬虫是什么 : 从一个url出发,自动访问他所关联的所有url,提取数据。
爬虫价值 : 爬取互联网数据为我所用,开发新产品提供更好的服务

★第三章
3-1 python简单爬虫架构

3-2  python简单爬虫架构 动态运行流程 【时序图】

★第四章  url管理器和实现方法

4-1  url管理

管理待抓取url结合  和  已经抓取的url集合  ,防止重复抓取和循环抓取

url管理器支持的功能 至少5个

4-2 url管理器的实现方式

目前有三种。

★第五章 网页下载器和  urllib2  模块

5-1 网页下载器简介          将互联网上url对应的网页下载到本地的工具

python有哪些网页下载器?

5-2  urllib2  下载器网页的三种方法

①最简洁方法:把url传递给urllib2模块的urlopen方法   urllib2.urlopen(url)

三种方法功能依次更大更强

5.3 urllib2实例代码演示

ps:我安装的是Python3.5.2  ,使用第一种urllib2.urlopen()报错,搜索发现官方3.0版本已经把urllib2,urlparse等五个模块都并入了urllib中,也就是整合了,参考   http://blog.csdn.net/pythonniu/article/details/51855035  ,正确用法

  1. import urllib.request  
  2. url="http://www.baidu.com"  
  3. get=urllib.request.urlopen(url).read()  
  4. print(get)  

★第六章  网页解析器和  beautifulsoup  第三方模块

6.1网页解析器简介

①正则表达式

②Python自带 html.parser

③第三方插件  beautifulsoup  强大,能使用② 和 ④

④第三方插件   lxml

①是模糊匹配,②③④是结构化解析。DOM树 ,熟悉吧๑乛◡乛๑

6.2beautifulsoup模块简介和安装

该模块属于Python第三方模块,用于从HTML或xml提取数据。

官网http://www.crummmy.com/software/BeautifulSoup

在线安装 beautifulsoup模块,截图如下【前提:已经有pip】

6.3beautifulsoup语法

流程:HTML网页   →创建beautifulsoup对象(生成dom树)  →搜索节点(find_all 方法 和 find方法,可以按照  名称、属性、文字  来搜索)   → 访问节点名称、属性、文字

例子

代码如下:

6.4beautifulsoup实例测试

总结:课程教程是Python 2 版本,自己是3.x版本,总体还是从小白到 对python爬虫整体概况有所了解一点吧。

python_2开发简单爬虫的更多相关文章

  1. Python开发简单爬虫 - 慕课网

    课程链接:Python开发简单爬虫 环境搭建: Eclipse+PyDev配置搭建Python开发环境 Python入门基础教程 用Eclipse编写Python程序   课程目录 第1章 课程介绍 ...

  2. Python开发简单爬虫(一)

    一 .简单爬虫架构: 爬虫调度端:启动爬虫,停止爬虫,监视爬虫运行情况 URL管理器:对将要爬取的和已经爬取过的URL进行管理:可取出带爬取的URL,将其传送给“网页下载器” 网页下载器:将URL指定 ...

  3. Python开发简单爬虫

    简单爬虫框架: 爬虫调度器 -> URL管理器 -> 网页下载器(urllib2) -> 网页解析器(BeautifulSoup) -> 价值数据 Demo1: # codin ...

  4. Python开发简单爬虫(二)---爬取百度百科页面数据

    一.开发爬虫的步骤 1.确定目标抓取策略: 打开目标页面,通过右键审查元素确定网页的url格式.数据格式.和网页编码形式. ①先看url的格式, F12观察一下链接的形式;② 再看目标文本信息的标签格 ...

  5. .net mvc前台如何接收和解析后台的字典类型的数据 二分搜索算法 window.onunload中使用HTTP请求 网页关闭 OpenCvSharp尝试 简单爬虫

    .net mvc前台如何接收和解析后台的字典类型的数据   很久没有写博客了,最近做了一个公司门户网站的小项目,其中接触到了一些我不会的知识点,今日事情少,便记录一下,当时想在网上搜索相关的内容,但是 ...

  6. Python 开发轻量级爬虫05

    Python 开发轻量级爬虫 (imooc总结05--网页下载器) 介绍网页下载器 网页下载器是将互联网上url对应的网页下载到本地的工具.因为将网页下载到本地才能进行后续的分析处理,可以说网页下载器 ...

  7. Python 开发轻量级爬虫03

    Python 开发轻量级爬虫 (imooc总结03--简单的爬虫架构) 现在来看一下一个简单的爬虫架构. 要实现一个简单的爬虫,有哪些方面需要考虑呢? 首先需要一个爬虫调度端,来启动爬虫.停止爬虫.监 ...

  8. Python 开发轻量级爬虫01

    Python 开发轻量级爬虫 (imooc总结01--课程目标) 课程目标:掌握开发轻量级爬虫 为什么说是轻量级的呢?因为一个复杂的爬虫需要考虑的问题场景非常多,比如有些网页需要用户登录了以后才能够访 ...

  9. scrapy爬虫学习系列二:scrapy简单爬虫样例学习

    系列文章列表: scrapy爬虫学习系列一:scrapy爬虫环境的准备:      http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_00 ...

随机推荐

  1. Selenium并行启动多个浏览器

    如果你对 Selenium 自动化测试已经非常熟悉,你仅仅需要一个快速上手来使程序运行起来.本章节的内容能满足不同的技术层次,但是如果你仅仅需要一个可以快速上手的指引,那么就显得有点多.如果是这样,你 ...

  2. Static与Const的区别

    static static局部变量 将一个变量声明为函数的局部变量,那么这个局部变量在函数执行完成之后不会被释放,而是继续保留在内存中 static 全局变量 表示一个变量在当前文件的全局内可访问 s ...

  3. linux date用法

    读者可以设定特定的格式,格式设定规则:一个加号后接数个标记,每个标记中都有%,其中可用的标记列表和说明如下:  %n : 下一行 %t : 跳格 %H : 小时(00..23) %I : 小时(01. ...

  4. matlab基本语法和运算基础

    转载自:http://blog.csdn.net/robertcalm/article/details/51582253 matlab语法比较随意,但正如其全名 matrix &laborat ...

  5. Django 之 logging

    1. logging 1.1 什么是 logging logging 模块是 Python 内置的日志管理模块,不需要额外安装. 使用: import logging logging.critical ...

  6. 将前台传回的HttpServletRequest转换成HashMap

    import java.util.HashMap;import java.util.Map;import java.util.Map.Entry;import java.util.Set; impor ...

  7. 【Linux入门】

    文件系统结构:倒树状: 文件命名规则: Windows  8.3的命名规则:文件名8位以内,后缀名3位以内 linux中隐藏文件的方式:在文件名称前面加.  eg: 1.txt===> .1.t ...

  8. C# 中的EventHandler实例详解-转

    //这里定义了一个水箱类 public class 水箱 {   //这是水箱的放水操作   public void 放水() { }   //这是水箱的属性   public double 体积; ...

  9. VR中运动控制器的传送系统

    创建一个VRPawn 新建一个BluePrint,父类选择Pawn,我们命名为VRPawn,打开它. 添加一个Scene命名为CameraRoot 在CameraRoot节点下添加一个Camera 在 ...

  10. 关于nginx的使用感想

    感慨: 最近老板说要转型NodeJs,所以接连用ThinkJS框架写了2个项目(不过通篇弱类型不用考虑class是真的爽啊...).那天老板又正好让我看看Ngxin的负载均衡和静态资源处理,那现在就写 ...