首页 > 编程知识 正文

python实现简单爬虫百度首页,爬虫Python代码

时间:2023-05-05 01:09:07 阅读:185857 作者:2450

最近对python爬虫产生了强烈的兴趣,所以在这里分享自己的学习路径,欢迎大家的建议。 我们相互交流,共同进步。

1 .开发工具

笔者使用的道具是sublime text3,它的短小和精悍,男人们可能不喜欢这个词。 我非常着迷。 我推荐给大家。 当然,如果你的电脑配置得很好,pycharm可能更适合你。

要构建sublimetext3python开发环境,建议您查看此博客:

[用[sublime构建python开发环境] [ http://www.cn blogs.com/code fish/p/4806849.html ]

2 .爬行动物介绍

爬行动物正如其名,像虫子一样,在互联网这个大网上爬行。 这样,我们就能得到自己想要的东西。

既然要登上互联网,就需要知道URL、法号' unifiedresourcelocator '、小名' link '。 其结构主要由三个部分构成。

(1)协议:类似于我们在网站上常见的HTTP协议。

2 ) (域名或IP地址)域名,例如www.baidu.com、IP地址、解析域名后的相应IP。

)3)路径)目录或文件等。

3.urllib开发最简单的爬行动物

(1) urllib介绍

模块

内部

urllib.error

exceptionclassesraisedbyurllib.request。

urllib.parse

parseurlsintoorassemblethemfromcomponents。

urllib.request

可扩展可编程语言。

urllib.response

响应类使用按urllib。

urllib.robotparser

loadarobots.txtfileandanswerquestionsaboutfetchabilityofotherurls。

)2)开发最简单的爬行动物

百度首页简洁大方,非常适合我们的爬虫。

爬行动物代码如下。

来自urllib导入请求

def visit_baidu () :

URL='http://www.baidu.com '

# openthe URL

req=request.urlopen(URL )

#读我的网址

html=req.read (

# decode the URL toutf-8

html=html.decode(utf_8) ) ) )。

是打印(html )

if __name__=='__main__':

visit_baidu ()

结果如下图所示。

在百度主页的空白中单击鼠标右键,查看审核要素,可以与我们的执行结果进行比较。

当然,request也可以生成可以用urlopen方法打开的request对象。

代码如下所示。

来自urllib导入请求

def vists_baidu () :

# createa request obkect

req=request.request (http://www.Baidu.com) )。

# openthe request object

response=request.urlopen(req )

#读我响应

html=response.read (

html=html.decode(utf-8 ) )。

是打印(html )

if __name__=='__main__':

vists_baidu ()

执行结果和刚才一样。

)3)错误处理

错误处理由urllib模块处理。 主要有URLError和HTTPError的错误。 其中HTTPError错误是URLError错误的子类。 这意味着HTTRPError也可以用URLError捕获。

HTTPError可以用代码属性捕获。

处理HTTPError的代码如下。

来自urllib导入请求

来自urllib import error

默认(: )

url='https://segmentfault.com/zzz '

req=request.request(URL )

try:

response=request.urlopen(req )

html=response.read ().decode ) (utf-8 ) )。

是打印(html )

excepterror.HTTPErrorase:

是打印(e.code )

if __name__=='__main__':

错误() )。

执行结果如下。

404是打印的错误代码。 关于这个细节,请自己在百度上查询。

可以用其reason属性捕获URLError。

chuliHTTPError的代码如下。

来自urllib导入请求

来自urllib import error

默认(: )

url='https://segmentf.com/'

req=request.request(URL )

try:

response=request.urlopen(req )

html=response.read ().decode ) (utf-8 ) )。

是打印(html )

excepterror.URLErrorase:

打印(e.reason ) )。

if __name__=='__main__':

错误() )。

执行结果如下。

为了处理错误,***两个错误都被写入代码中,越细越清晰。 请注意,HTTPError是URLError的子类,因此请确保将HTTPError放在URLError之前。 否则,输出URLError,如将404输出到Not Found。

代码如下所示。

来自urllib导入请求

来自urllib import error

***方法,URLErroe和HTTPError

默认(: )

url='https://segmentfault.com/zzz '

req=request.request(URL )

try:

response=request.urlopen(req )

html=response.read ().decode ) (utf-8 ) )。

是打印(html )

excepterror.HTTPErrorase:

是打印(e.code )

excepterror.URLErrorase:

打印(e.reason ) )。

大家可以更改url查看各种错误的输出形式。

【编辑推荐】

【责任编辑:枯木tel:(010 ) 68476606】

点赞0

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。