了解python的基本语法后就能够开始了,边学边巩固。php
学爬虫那什么是网络爬虫,如下是百度百科的定义:网络爬虫(又被称为网页蜘蛛,网络机器人,css
在FOAF社区中间,更常常的称为网页追逐者),是一种按照必定的规则,自动地抓取万维网信息的程序或者脚本。html
另一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。python
找资源的源头应该是URL,这是我我的的理解:数据库
URL的格式由三部分组成:
①第一部分是协议(或称为服务方式)。
②第二部分是存有该资源的主机IP地址(有时也包括端口号)。
③第三部分是主机资源的具体地址,如目录和文件名等。浏览器
执行的版本是python2.7, 开发工具是JetBrains PyCharm 5.0缓存
==========================================================
import urllib2
response = urllib2.urlopen("http://www.baidu.com")
print response.read()
==========================================================
输出是一大堆html,css,js代码,后面要研究的是也是这些材料,具体说是解析器要作的。
HTTP是基于请求和应答机制的--客户端提出请求,服务端提供应答。安全
urllib2用一个Request对象来映射你提出的HTTP请求,在它最简单的使用形式中你将用你要请求的服务器
地址建立一个Request对象,经过调用urlopen并传入Request对象,将返回一个相关请求response对象,网络
这个应答对象如同一个文件对象,因此你能够在Response中调用.read()。
==========================================================
import urllib2
req = urllib2.Request("http://www.baidu.com")
response = urllib2.urlopen(req)
print response.read()
==========================================================
以上代码更能体现http的过程。
在urlopen中除了"http:",URL一样可使用"ftp:","file:"等等来替代
1.GET请求的数据会附在URL以后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,
参数之间以&相连,如:login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0%E5%A5%BD。
若是数据是英文字母/数字,原样发送,若是是空格,转换为+,若是是中文/其余字符,则直接把字符串用BASE64加密,得出如:%E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII。POST把提交的数据则放置在是HTTP包的包体中。
2."GET方式提交的数据最多只能是1024字节,理论上POST没有限制,可传较大量的数据,这个限制是特定的浏览器及服务器对它的限制。
3.POST的安全性要比GET的安全性高。注意:这里所说的安全性和上面GET提到的“安全”不是同个概念。上面“安全”的含义仅仅是不做数据修改,而这里安全的含义是真正的Security的含义,好比:经过GET提交数据,用户名和密码将明文出如今URL上,由于(1)登陆页面有可能被浏览器缓存,(2)其余人查看浏览器的历史纪录,那么别人就能够拿到你的帐号和密码了,除此以外,使用GET提交数据还可能会形成Cross-site request forgery攻击。