今天主要学习了关于网页下载器的一些内容,下边做一下总结:

1.网页下载器,顾名思义,就是将URL所对应的网页以HTML的形式下载到本地,最终存储成本地文件或者还是本地内存字符串,然后进行后续的分析与处理;

网页下载器主要有:urllib2和requests

下边介绍下urllib下载网页的方法:

首先是引入urllib.request

然后打开我们所定义的url,最后打印出状态码(getcode的作用就获取状态码),如果状态码是200的话,就代表是正常的。运行之后的结果如下所示:

2.网页解析器:它是以下载好的html网页字符串作为输入,然后从中提取出有价值的数据以及新的URL。

其中常见的网页解析器有:正则表达式(这是一种模糊化思想,个人认为就跟搜索关键词一样)

            html.parser

            Beautiful Soup(比较强大且比较常用)

            lxml

其中后三者主要适用于结构化解析,这里还涉及到一个词叫做DOM(Document Object Model)树,这个今天理解的不是很透彻,以后在慢慢谈。Beautiful Soup属于python的第三方库,主要是从html和xml中提取数据。

这里给大家举个例子:

在这里,节点名称就是 nav,节点属性:id=“nav” class=“clearfix”  ,节点内容:...

除此之外,今天还接触到了实例爬虫的过程:

第一步就是确定目标;第二步就是分析目标,这里边包括URL格式、数据格式以及网页编码;第三步就是编写代码了,最后执行爬虫。

今天白天帮老师干活,晚上身体有点不舒服,学的比较少,写的也比较范范,希望大家理解,如果有写的不对的,欢迎指出,大家共同学习,一起进步。

python-day3爬虫基础之下载网页的更多相关文章

  1. python从爬虫基础到爬取网络小说实例

    一.爬虫基础 1.1 requests类 1.1.1 request的7个方法 requests.request() 实例化一个对象,拥有以下方法 requests.get(url, *args) r ...

  2. Python扫描器-爬虫基础

    0x1.基础框架原理 1.1.爬虫基础 爬虫程序主要原理就是模拟浏览器发送请求->下载网页代码->只提取有用的数据->存放于数据库或文件中 1.1.基础原理 1.发起HTTP请求 2 ...

  3. Python BeautifulSoup4 爬虫基础、多线程学习

    针对 崔庆才老师 的 https://ssr1.scrape.center 的爬虫基础练习.Threading多线程库.Time库.json库.BeautifulSoup4 爬虫库.py基本语法

  4. Python开发爬虫之BeautifulSoup解析网页篇:爬取安居客网站上北京二手房数据

    目标:爬取安居客网站上前10页北京二手房的数据,包括二手房源的名称.价格.几室几厅.大小.建造年份.联系人.地址.标签等. 网址为:https://beijing.anjuke.com/sale/ B ...

  5. Python归纳 | 爬虫基础知识

    1. urllib模块库 Urllib是python内置的HTTP请求库,urllib标准库一共包含以下子包: urllib.error 由urllib.request引发的异常类 urllib.pa ...

  6. 自学Python六 爬虫基础必不可少的正则

    要想做爬虫,不可避免的要用到正则表达式,如果是简单的字符串处理,类似于split,substring等等就足够了,可是涉及到比较复杂的匹配,当然是正则的天下,不过正则好像好烦人的样子,那么如何做呢,熟 ...

  7. python网络爬虫抓取动态网页并将数据存入数据库MySQL

    简述以下的代码是使用python实现的网络爬虫,抓取动态网页 http://hb.qq.com/baoliao/ .此网页中的最新.精华下面的内容是由JavaScript动态生成的.审查网页元素与网页 ...

  8. 自学Python四 爬虫基础知识储备

    首先,推荐两个关于python爬虫不错的博客:Python爬虫入门教程专栏   和 Python爬虫学习系列教程 .写的都非常不错,我学习到了很多东西!在此,我就我看到的学到的进行总结一下! 爬虫就是 ...

  9. 自学Python五 爬虫基础练习之SmartQQ协议

    BAT站在中国互联网的顶端,引导着中国互联网的发展走向...既受到了多数程序员的关注,也在被我们所惦记着... 关于SmartQQ的协议来自HexBlog,根据他的博客我自己也一步一步的去分析,去尝试 ...

随机推荐

  1. java基础源码 (4)--reflect包-AnnotatedElement接口

    接口:AnnotatedElement * Represents an annotated element of the program currently running in this * VM. ...

  2. springboot - 映射 HTTP Response Status Codes 到自定义 JSP Error 页面

    1.总览 2.代码 1).pom.xml <dependencies> <dependency> <groupId>org.springframework.boot ...

  3. Linux每日一练20200219

  4. POJ 1320:Street Numbers

    Street Numbers Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 2753   Accepted: 1530 De ...

  5. Standard Aras Dialogs

    In a another blog post, we covered how to open dialogs within Aras Innovator using custom forms and ...

  6. Android自定义View——自定义ViewPager

      第一部分:自定义ViewGroup的使用,手势识别器和Scroller滑动 第二部分:处理滑动监听,处理滑动冲突,增加ViewPager的指示器   常见的滑动冲突:外部滑动方向和内部滑动方向不一 ...

  7. MySQL授权用户登录访问指定数据库

    使用Navicat等客户端工具,选中需要共享的数据库,点击查询>新建查询 1.写SQL语句:GRANT ALL PRIVILEGES ON * TO 'test'@'%'IDENTIFIED B ...

  8. javaScript_BOM浏览器对象模型

    BOM:浏览器对象模型 Browser Object Model 用来访问和操作浏览器窗口,使JavaScript有能力与浏览器对话 通过使用BOM ,可以移动窗口,更改状态栏.执行其他不与页面内容发 ...

  9. 学生信息的添加 Java web简单项目初试(修改)

    错误原因: 1.Java web 的Servlet类没有配置好,并且缺少一个 Dao类(Date Access Object通常用于操作数据库的). 2.代码的某些名称错误,导致数据库数据存储错误. ...

  10. aliyun服务器lamp配置

    1.安装Apache:yum install httpd 2.安装php: yum install php 3.安装mysql客户端:yum install mysql 4.安装mysql服务端:yu ...