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。
-
未完待续。。。。