Python基础知识——爬虫入门

爬虫,即网络爬虫。打个形象的比方:一只蜘蛛在蜘蛛网上爬,可以以某种方式从网上的某个地方找到自己想要的东西。

那么和网页相联系起来有什么关系呢?

首先我们先简单介绍一下网页的基本概念。所谓网页,也就是我们给浏览器输出一个字符串,浏览器进行解析后,经DNS服务器找到服务器主机后,向服务器发出请求,服务器经过解析之后,向浏览器发送Html、JS、CSS等文件,再由浏览器进行解析,组成了平时我们所见的可视化网页。所以说网页的实质就是指服务器传送过来的Html、JS、CSS等文件。这些文件简要概括起来就是对文字图片的获取,在经由规则化排布,组成网页。比较来说:Html就是网页的骨架、JS就是网页的肌肉、CSS就是网页的衣服,组成了一个完整的"人"。

那么我们输入的字符串也就是我们说的网址到底是什么?即URL,即统一资源定位符。它是互联网上资源位置和访问方式的一种简洁的表示,它是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。例:"http://baidu.com",url由三部分组成:

1、协议,也就是服务方式,大部分我们平常使用的网址都是http协议的。

2、存有该资源的主机IP地址。

3、主机资源的具体地址。

理解了url我们对爬虫的理解也就更近了一步。


爬取第一个网页!!!

Python中与抓取网页相关的库有urllib和urllib2。两者有点小区别:

urllib 和urllib2都是接受URL请求的相关模块,但是urllib2可以接受一个Request类的实例来设置URL请求的headers,urllib仅可以接受URL。这意味着,你不可以伪装你的User Agent字符串等。urllib提供urlencode方法用来GET查询字符串的产生,而urllib2没有。这是为何urllib常和urllib2一起使用的原因。目前的大部分http请求都是通过urllib2来访问的。

举例:

#coding=utf-8
import urllib2
url = 'http://www.zhihu.com/topic/19607535/top-answers'
netthings= urllib2.urlopen(url)
print netthings.read()  #使用urllib2模块爬虫抓取了特定网页
输出就不列举了,网页内容太多。

这里使用了urllib2模块的urlopen函数,先拉取了一个网页,存储到netthings对象中,再用netthings对象的read方法将网页内容返回。urlopen(url,data,timeout),这个函数接受三个参数,第一个参数:url即网址,第二个参数:data,可以是需要传入的登录账户和密码,可以为空,第三个:timeout,设置超时时间,可以为空。

这样我们就简单的抓取了我们的第一个网页啦!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MISAYAONE

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值