1.requests库异常
2. Response类的方法
raise_for_status()判断是否异常
try:
r = requests.get(url)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except:
return '产生异常'
3.HTTP协议
4.Requests库的7个方法
put:全部
patch:局部 - 节省网络带宽
post:提交部分内容
重点get和head
head读取大型网页的部分信息
5.Requests不同方法有不同数量的控制访问参数
6.Python中的if name==‘main’:
Python是从上至下执行的,首先导入模块。
殊不知这段代码的意义并不是一定要存在于执行代码中,而是在日常工作中,为了调试某个模块的正确性,我们往往会在当前模块下直接写一个 if name == ‘main’ ,测试逻辑写在下面,这样,在其他模块调用这个模块里的方法也好,类也好的时候,就不会去调用 if name == ‘main’ 下面的逻辑了。
原因很简单,因为 if name == ‘main’ 中的 name 代表的就是当前执行的模块名。
当哪个模块被直接执行时,该模块“name”的值就是“main”,当被导入另一模块时,“name”的值就是模块的真实名称
7.小规模 Requests库
中规模 Scrapy库
8.robots协议
在网站根目录后输入/robots.txt
/表示根目录
*表示所有