4.Python爬虫入门之二之爬虫基础了解

1.什么是爬虫

爬虫,即网络爬虫,大家可以理解为在网络上爬行的一只蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛,如果它遇到资源,那么它就会抓取下来。想抓取什么,就靠你自己去控制它。

比如它在抓取一个网页,在这个网中它发现了一条道路,其实就是指向网页的超链接,那么它就可以爬虫另一张网上来获取数据。这样,整个连在一起的大网对这只蜘蛛来说触手可及,爬下来都不是什么难事。

2.浏览网页的过程

在用户浏览网页的过程中,我们可能会看到许多好多的照片,比如 http://image.baidu.com/ ,我们会看到几张的图片以及百度搜索框,这个过程其实就是用户输入网址之后,经过DNS服务器,找到服务器主机,向服务器发出一个请求,服务器经过解析之后,发送给用户的浏览器HTML、JS、CSS等文件,浏览器解析出来,用户就可以看到形形色色的图片了。

因此,用户看到的网页实质是由HTML代码构成的,爬虫爬来的便是这些内容,通过分析和过滤这些HTML代码,实现对图片、文字等资源的获取。

3.URI和URL的概念和举例

简单的来讲,URL就是在浏览器端输入的 http://www.baidu.com 这个字符串。

在了解URL之前,首先要理解URL的概念。Web上每种可用的资源,如HTML文档、图像、视频片段、程序等都由一个通用资源标识符(Universal Resource Identifier,URL)进行定位。

URI通常由三部分组成

①访问资源的命名机制;

②存放资源的 主机名;

③资源自身的名称,由路径表示。

如下面的URI:

http://www.why.com.cn/myhtml/html1223/、

我们可以这样解释它:

①这是一个可以通过HTTP协议访问的资源;

②位于主机www.why.com.cn上;

③通过路径“/myhtml/html1223” 访问

4.URL的理解和举例

URL是URI的一个子集。它是Uniform Resource Locator的缩写,中文译为“统一资源定位符”。通俗地说,URL是Internet上描述信息资源的字符串,主要用于各种WWW客户程序和服务器程序上。采用URL可以用一种统一的格式描述各种信息资源,包括文件、服务器的地址和目录等。

URL的一般格式为(带方括号[]的为可选项):

protocol :// hostname[:port] / path / [;parameters][?query]#fragment

URL的格式由三部分组成

①第一部分是协议(或称为服务方式);

②第二部分是存有该资源的主机IP地址(有时也包括端口号);

③第三部分是主机资源的具体地址,如目录和文件名等。

第一部分和第二部分用 “://” 符号隔开,

第二部分和第三部分用 “/” 符号隔开

第一部分和第二部分是不可缺少的,第三部分有时可以省略

5.URL和URI的简单比较

URI属于URL更低层次的抽象,一种字符串文本标准。换句话说,URI属于父类,而URL属于URI的子类。

URI的定义:Universal Resource Identifier,统一资源标识符;

URL的定义:Uniform Resource Locator,统一资源定位符。

两者的区别在于,URI表示请求服务器的路径,定义这么一个资源。而URL同时要说明如何访问这个资源(http://)

下面来看看两个URL的小例子

(1)HTTP协议的URL示例

例:http://www.peopledaily.com.cn/channel/welcome.htm

①使用超文本传输协议HTTP,提供超文本信息服务的资源

②其计算机域名为www.peopledaily.com.cn

③超文本文件(文件类型为.htm)是在目录channel下的welcome.htm

(2)文件的URL示例

用URL表示文件时,服务器方式用file表示,后面要有主机IP地址、文件的存取路径(即目录)和文件名等信息。有时可以省略目录和文件名,但 “/” 符号不能省略

例:file://ftp.yoyodyne.com/pub/files/foobar.txt

①这是一个文件file

②存放在主机ftp.yoyodyne.com上的pub/files/目录下的一个文件,文件名是foobar.txt

例:file://ftp.yoyodyne.com/pub

代表主机ftp.yoyodyne.com上的目录/pub。

例:file://ftp.yoyodyne.com/

代表主机ftp.yoyodyne.com的根目录。

     爬虫最主要的处理对象就是URL,它根据URL地址取得所需要的文件内容,然后对它 进行进一步的处理。

因此,准确地理解URL对理解网络爬虫至关重要。

时间: 2024-10-14 17:49:19

4.Python爬虫入门之二之爬虫基础了解的相关文章

python网络爬虫入门(二)——用python简单实现调用谷歌翻译

最近在看国外的文档,有些生词不认识.就用谷歌翻译来理解,用着用着闲来无事就按F12查看了下页面的源代码.发现可以用python简单的实现下谷歌翻译的页面功能.于是先上网搜下有没有类似的文章博客,发现几篇不错的,于是参考其他代码与自己的思路,简单的实现了下翻译的功能,代码如下: import re import urllib,urllib2 #----------模拟浏览器的行为,向谷歌翻译发送数据,然后抓取翻译结果,这就是大概的思路------- def Gtranslate(text): #t

Python 爬虫入门(二)—— IP代理使用

上一节,大概讲述了Python 爬虫的编写流程, 从这节开始主要解决如何突破在爬取的过程中限制.比如,IP.JS.验证码等.这节主要讲利用IP代理突破. 1.关于代理 简单的说,代理就是换个身份.网络中的身份之一就是IP.比如,我们身在墙内,想要访问google.u2b.fb等,直接访问是404,所以要换个不会被墙的IP,比如国外的IP等.这个就是简单的代理. 在爬虫中,有些网站可能为了防止爬虫或者DDOS等,会记录每个IP的访问次数,比如,有些网站允许一个IP在1s(或者别的)只能访问10次等

Python爬虫入门之二HTTP/HTTPS请求与响应

HTTP和HTTPS HTTP协议(HyperText Transfer Protocol,超文本传输协议):是一种发布和接收 HTML页面的方法. HTTPS(Hypertext Transfer Protocol over Secure Socket Layer)简单讲是HTTP的安全版,在HTTP下加入SSL层. SSL(Secure Sockets Layer 安全套接层)主要用于Web的安全传输协议,在传输层对网络连接进行加密,保障在Internet上数据传输的安全. HTTP的端口号

Python爬虫小白---(二)爬虫基础--Selenium PhantomJS

一.前言   前段时间尝试爬取了网易云音乐的歌曲,这次打算爬取QQ音乐的歌曲信息.网易云音乐歌曲列表是通过iframe展示的,可以借助Selenium获取到iframe的页面元素, 而QQ音乐采用的是异步加载的方式,套路不一样,这是主流的页面加载方式,爬取有点难度,不过也是对自己的一个挑战. 二.Python爬取QQ音乐单曲 之前看的慕课网的一个视频, 很好地讲解了一般编写爬虫的步骤,我们也按这个来. 爬虫步骤 1.确定目标 首先我们要明确目标,本次爬取的是QQ音乐歌手刘德华的单曲. (百度百科

网络爬虫入门——案例二:爬取教务系统中的学生成绩

参考资料: 本帖目标: 1.模拟登陆学校教务系统 2.对教务系统中的学生成绩进行抓取 3.将抓取到的内容保存到excel表格并计算平均成绩和绩点 # -*- coding: utf-8 -*- """ Created on Sat Apr 16 18:26:46 2016 @author: wuhan """ import urllib import urllib2 import cookielib from bs4 import Beautif

Python从入门到PY交易,基础语法,散记(二)

类的继承: 类本身进一步细分成子类的过程,称为继承,比如鸟类是属于动物类,鸟类是动物类的子类 子类拥有父类的所有属性 1.继承的基本格式 class 类名(父类名): 属性 方法 : 方法体 2.范例: 3.父类默认为object 4.类的特殊用法: 每个类中的方法中都有self参数,在方法内部调用自身的属性或方法 构造方法init(),实例化对象的时候自动调用,一般做初始化 容器container: 能存储多个元素的对象称为容器,如列表,词典 字典{} 唯一的映射类型,对象可变,键必须使用不可

Python——函数入门(二)

一.函数的参数 我们在定义函数时,可以定义形式参数(简称形参),这些形参的值在函数调用的时候才会确定,形参的值由调用者负责传入. 1.关键字参数 在Python中,函数的参数名并不是没有意义的,在调用函数的时候,Python允许根据参数名传入参数值,根据参数名传入参数值不需要遵守定义形参的顺序,这种根据参数名传入参数值的方式被称为关键字参数. 例: def test(a,b,c): print ('a:%s,b:%s,c:%s'%(a,b,c)) return a,b,c test(c = 1,

爬虫入门-5-1.正则表达式在爬虫中的应用

1.爬取百思不得姐段子 1 import requests 2 import re 3 4 5 def parse_url(url): 6 headers = { 7 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) ' 8 'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36' 9 } 10 response = requests.ge

python 学习笔记十二之 html基础(进阶篇)

HTML 超级文本标记语言是标准通用标记语言下的一个应用,也是一种规范,一种标准,它通过标记符号来标记要显示的网页中的各个部分.网页文件本身 是一种文本文件,通过在文本文件中添加标记符, 可以告诉浏览器如何显示其中的内容(如:文字如何处理,画面如何安排,图片如何显示等).浏览器按顺序阅读 网页文件,然后根据标记符解释和显示其标记的内容,对书写出错的标记将不指出其错误, 且不停止其解释执行过程,编制者只能通过显示效果来分析出错原因和出 错部位.但需要注意的是,对于不同的浏览器,对同一标记符可能会有