要使用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>
后有续集