python爬虫学习11

python爬虫学习11

  • 解析连接

    • urlencode
      • 之前已经提到过,urlencode可以实现对数据的转化

        from urllib import parse
        
        params = {
                  
                  
            'name': 'germey'
            , 'age': '25'
        }
        base_url = 'http://www.baidu.com?'
        url = base_url + parse.urlencode(params)
        print(url)
        

        运行结果:可以看到参数已经被转换为GET类型的请求参数

        在这里插入图片描述

    • prase_qs
      • 作用是将序列化的请求参数还原为字典

        # parse_qs
        from urllib.parse import parse_qs
        
        qurey = 'name=germey&age=25'
        print(parse_qs(qurey))
        

        运行结果:

        在这里插入图片描述

    • parse_qsl
      • parse_qsl 用于将参数转化为由元组组成的列表

        # parsa_qsl
        from urllib.parse import parse_qsl
        
        query = 'name=germey&age=25'
        print(parse_qsl(query))
        

        运行结果:

        在这里插入图片描述

        扫描二维码关注公众号,回复: 13792634 查看本文章
    • quote
      • 将内容转化为URL编码格式,可以将中文字符转化为字符编码

        # quote
        from urllib.parse import quote
        
        kw = '雪容融'
        url = 'http://www.baidu.com/s?wd'+quote(kw)
        print(url)
        
        

        运行结果:

        在这里插入图片描述

    • unquote
      • 与 quote 相对 ,可以实现解码

        # unquote
        from urllib.parse import unquote
        
        url = '%E9%9B%AA%E5%AE%B9%E8%9E%8D'
        print('%E9%9B%AA%E5%AE%B9%E8%9E%8D 解码后为:',unquote(url))
        

        运行结果:

        在这里插入图片描述

  • 分析Robots 协议

    • Robots协议
      • 也称作爬虫协议、机器人协议,全称为网络爬虫排除标准(Robots Exclusion Protocal),用来表名爬虫或者搜索引擎哪些页面可以抓取,哪些不可以。它通常是一个叫做robots.txt的文本文件,一般放在网站的根目录下。

      • 搜索爬虫在访问一个网站时,首先会检查这个站点的根目录下是否有robots.txt文件,如果存在,就会根据其中定义的爬取的范围来爬取。如果没有找到这个文件,爬虫便会访问所有可以直接访问的页面。

        # 样例
        
        user-agent: *	# 搜索爬虫名称,*代表对所有爬虫都有效 
        Disallow:/		# 指定了不允许爬虫爬取的目录,/代表不允许爬虫爬取所有页面
        Allow:/pubilc/	# 一般会和disallow相互配合,用来排除某些限制,所以综上所述,此例中代表所有页面都不允许爬取,但是可以爬取pubilc目录
        
    • 爬虫名称
      • 爬虫是有固定名称的,例如百度的爬虫就叫做 BaiduSpider。

      在这里插入图片描述

未完待续。。。。

猜你喜欢

转载自blog.csdn.net/szshiquan/article/details/123364718