分享

python-07:最简单的爬虫程序

 217小月月坑 2015-11-18
其实到这里我也不知道应该怎么讲,因为一开始我并不知道这个最简单的爬虫程序怎么写,单靠我自己想是写不出来的,所以就上网找了个程序,先让程序运行起来然后再慢慢的一行一行代码的去解析,我觉得这个相对来说是一个比较好的方法
所以这里先抛给大家这个程序,试着让程序先跑起来

1. 最简单的python爬虫源程序
        这是一个最简单的python爬虫,它的功能是将网页的源代码获取并显示出来,代码很简单加上注释才有8行

        1. #!/usr/bin/env python
        2. # -*- coding: UTF-8 -*-
        3. __author__ = '217小月月坑'
        4.
        5. import urllib2
        6.
        7. response = urllib2.urlopen("http://python./81339/")
        8. print response.read()
       
2. 怎么理解这个python爬虫

        #!/usr/bin/env python           # 告诉系统应该使用哪个编译器来编译这个文件
        # -*- coding: UTF-8 -*-         # 使python程序支持中文编码格式
        __author__ = '217小月月坑'       # 这个程序的作者是谁,注意:前后都是两个 "_"

        import urllib2                  # 导入urllib2 python库
        '’'
        1. 调用的是urllib2库里面的urlopen方法,传入一个URL,这个URL就是你想要爬取的网站的网址
        2. 执行urlopen方法之后,返回一个response对象,返回信息便保存在这里面
        ’'’
        response = urllib2.urlopen("http://python./81339/")
        print response.read()     # 使用read()方法将response对象的内容打印出来
       
3. 详解urlopen方法
        urlopen一般接受三个参数,它的参数如下:
            urlopen(url, data, timeout)
                第一个参数url即为URL,第二个参数data是访问URL时要传送的数据,第三个timeout是设置超时时间。
                第二三个参数是可以不传送的,data默认为空None,timeout默认为 socket._GLOBAL_DEFAULT_TIMEOUT
这个函数将会是我们前半部分学习的中心点,后面会慢慢讲解它的每个参数的使用
                
    4. 详解read()方法
        read()方法是将response里面的内容读取出来,如果不加read()的话,就只是显示response的描述信息
 
  
    5. 另一种更规范的写法
        urlopen参数可以传入一个request请求,它其实就是一个Request类的实例,构造时需要传入Url,Data等等的内容
        
        我们可以将前面的程序这样写:
            #!/usr/bin/env python
            # -*- coding: UTF-8 -*-
            __author__ = '217小月月坑'

            import urllib2
            request = urllib2.Request ("http://python./81339/")
            response = urllib2.urlopen(request)
            print response.read()
        
        这个写法的执行结果跟上一个完全一样,但是好处是程序的逻辑更清晰。
        因为在构建请求时还需要加入好多内容,通过构建一个request,服务器响应请求得到应答,这样显得逻辑上清晰明确。
       我们今后的学习都会使用这个写法,所以它很重要,尽量理解,实在理解不了可以先把它背下来

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多