爬虫概述
1.爬虫技术概述
爬虫,即网络爬虫,是通过递归访问网络资源,抓取网络中信息的技术。
互联网中也有大量的有价值的信息数据,手动下载效率非常低下,爬虫就是自动化爬取下载些有价值的信息的技术。
互联网中的页面往往不是独立存在的,而是通过超链接连接成了一个网络,爬虫程序就像一 只蜘蛛一样,通过访问超链接在这张网络中移动 ,并下载需要的信息,理论上可以将爬取到整个互联网的绝大部分数据。
爬虫技术最开始来源于搜索引擎技术,是搜索引擎的基础,目前已经普及开成为了非常常用的通用技术。
2.爬虫的实现
很多语言都可以用来开发爬虫,理论上只要有访问网络能力的语言都可以用来开发爬虫。 但目前主流的爬虫开发用的主要是python语言,python语言简单 清晰高效开发的特点特别适合于爬虫这种需要根据不同页面灵活高效开发不同处理程序的场景。
Python爬虫基础之Urllib库
1.案例1:访问url读取返回结果
import urllib2
response = urllib2.urlopen("http://www.baidu.com")
print response.read()
说明:
urlopen(url, data, timeout)
第一个参数url即为URL,第二个参数data是访问URL时要传送的数据,第三个timeout是设置超时时间。
第二三个参数是可以不传送的,data默认为空None,timeout默认为 socket.
_GLOBAL_DEFAULT_TIMEOUT
第一个参数URL是必须要传送的,在这个例子里面我们传送了百度的URL,执行urlopen方法之后,返回一个response对象,返回信息便保存在这里面
2.案例2:构造request访问url读取返回结果
import urllib2
request = urllib2.Request("http://www.baidu.com");
response = urllib2.urlopen(request)
print response.read()
说明:
运行结果是完全一样的,只不过中间多了一个request对象,更加面向对象
3.案例3:Get提交
import urllib
import urllib2
data = urllib.urlencode({"username":"张三","psw":"123"})
request = urllib2.Request("http://www.baidu.com?"+data) r
esponse = urllib2.urlopen(request)
print response.read()
此处通过urlencode方法对请求参数实现URL编码操作
4.案例4:Post提交
import urllib
import urllib2
data = urllib.urlencode({"username":"park","password":"123"})
r