安装Python环境。不知道下的东西对不对
看教程,据说以后会用IDLE、Sublime Text、Pycharm和Anaconda。其中后两个分别是用于游戏和数据分析。
class1 网络爬虫与信息获取
class1.1 requests库的安装
requests库和robots.txt
——上来就是问题,安装requests应该找到pip.exe文件所在的目录,然后用cmd进入这个目录,并执行“pip install requests”这个命令。
——另,cmd的操作我也都给忘了。 cd进入目录 cd.. 返回上一级 dir显示当前目录下所有文件夹和文件 tab自动补全。暂时就这样。
现在暂时用的是IDLE,但是我看网上有人说这个小IDE不太好。不过对于我而言应该区别不大,凑合学习吧。
import requests //导入requests库
r = requests.get("http://www.baidu.com") //请求“百度网站”
r
<Response [200]>
r.statues_code //输出状态码
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
r.statues_code
AttributeError: 'Response' object has no attribute 'statues_code'
r.status_code //输出状态码
200
r.encoding = 'utf-8' //修改页面内容编码
r.text
r = requests.get(url)
——其实requests库的方法都是用request方法写的
五个最重要的属性:status_code状态码 text内容 encoding编码(从header中获取的编码信息) apparent_encoding程序推测的编码(编码更加准确) content内容的二进制形式
——当程序乱码时,可以使用apparent_encoding
class1.3 通用框架
其实就是讲处理错误和异常,以达到提高通用性的目的。
异常:ConnectionError HTTPError URLRequests TooManyRedirects ConnectTimeout Timeout
>>> def getit(url):
try:
r=requests.get(url,timeout=30)
r.raise_for_status()
r.encoding=r.apparent_encoding
return r.text
except:
return "异常"
——突然发现这个教程可能是给有python基础的人看的。操作什么的都么讲过,我一点都不熟。
raise_for_status()获取网络异常 ,可以使用try...except结构发挥这个函数的作用。
class1.4 HTTP协议
好像讲的跟我之前学php时候不太一样呢。。
http相应测试网站:httpbin.org 下面有/get /post 之类的
class1.5 requests方法
requests(method, url , 参数)
——方法指的是get post之类
——参数包括:params 具体作用类似于php中直接在链接后面加表单参数;data 类似post方法;json;headers 修改头字段;cookies ;auth;files
感觉看了这个方法,对于php又有了新的认识:get操作是form字段 post操作的是data字段,form字段是明文写在链接里的,而data字段是不显示的