要使用Urllib爬取网页,首先需要导入用到的对应模块,所以,我们可以输入
如下代码导入urllib,是在python2.7写的代码

import urllib
import urllib2

导入代码之后,我们需要使用urllib2.request打开并爬取一个网页,此时,可以
输入如下代码爬取百度首页,爬取之后将爬取到的网页赋给了变量file

file = urllib2.urlopen("http://www.baidu.com")

获取到网页内容之后我们需要将网页内容读取出来。
读取内容常见的有3种方式,其用法是:
1)file.read()
   读取文件的全部内容,与readlines不同的是,read会把读取到的内容赋给一个字符串变量。
2)file.readlines()
   读取文件的全部内容,与read不同的是,readlines会把读取到的内容赋给一个列表变量,若要读取全部内容,推荐使用这种方式。
3)File.readline()
   读取文件的一行内容。



代码如下:

data = file.read()
dataline = file.readline()

以上代码分别读取了爬取到的网页的全部内容和一行内容,并分别赋给了变量data,dataline。

随后将爬取到的读取的内容打印出来
print dataline
print "*"*100   #便于分清楚是谁打印的结果
print dataline

从结果中可知,打印的一行是输出的是空白,而打印data是成功将网页爬取下来之后
取得的HTML代码

结果如下:

****************************************************************************************************
<!DOCTYPE html>
<!--STATUS OK-->
<html>
<head>
    
    <meta http-equiv="content-type" content="text/html;charset=utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=Edge">
    <meta content="always" name="referrer">
    <meta name="theme-color" content="#2932e1">
    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
    <link rel="search" type="application/opensearchdescription+xml" href="/content-search.xml" title="百度搜索" />
    <link rel="icon" sizes="any" mask href="//www.baidu.com/img/baidu.svg">
    
    
    <link rel="dns-prefetch" href="//s1.bdstatic.com"/>
    <link rel="dns-prefetch" href="//t1.baidu.com"/>
    <link rel="dns-prefetch" href="//t2.baidu.com"/>
    <link rel="dns-prefetch" href="//t3.baidu.com"/>
    <link rel="dns-prefetch" href="//t10.baidu.com"/>
    <link rel="dns-prefetch" href="//t11.baidu.com"/>
    <link rel="dns-prefetch" href="//t12.baidu.com"/>
    <link rel="dns-prefetch" href="//b1.bdstatic.com"/>
    
    <title>百度一下,你就知道</title>
    

<style ;
}
</script>



</body>
</html>

后有续集

相关文章: