urllib的简单使用

首先需要导包
Import urllib.request

这是一个简单的网站
例如:
发起请求
Response = urlib.request.urlopen("http://www.baidu.com/")
Print(type(response))

有什么值
1. getcode()获取状态码
2. Geturl ()获取到url(获取到网址)
3. getheaders()获取头部信息
4. read() 读取全文 (以二进制方式读取全文 所以就需要解码)
5. 编码 encode ---> 字节
6. 解码 decode ----> 文本
7. 解码方式 gbk utf-8 gb2312(解码需要在meta去找)
8. 写入文件
9. With open(“baidu.com”,"w",encoding= "utf-8")as f:
F.write(response.read().decode("utf-8"))
10. Urlretrieve 读取内容直接保存在本地(可以请求网页 图片 音频)(目前都需要自己在网页上找路径)
11. rsplit()[-10-5](从右开始切片)
构造请求
1. 如果直接访问就会暴露自己的访问的地址 (user-Agent)
2. user-Agent定制 写一个字典首先 (在您需要访问的网页获取的这个user-Agent)
3. Req = Urllib.request.Request(url=变量名,headers = 变量名)
4. Response = Urllib.request.urlopen(req) (返回一个response)
浏览器
1. 浏览器会自动解码编码(所以浏览器中文的也能访问)
2. 如果需要汉字传参 就需要自己编码了(tool.chinaz.com/tools/urlencode.aspx)即可
3. 解码的时候需要知道的是 三个字节为一个汉字
4. 编码的格式
5. Urllib.parse.urlencode()(对什么编码就写在括号里面)
6. 首先需要原来的网页?F 然后在进行解码操作 在俩个个路由拼接在啊一起 即可
爬虫翻页
1. 翻页如果你想爬取数据的话 就需要根据情况分析这个网页的规律了
2. 例如:
For page in range(1,pag+1):
Pn =(page-1)*50
Full_url = url3 + "&pn=%s" %pn

 

 

posted @ 2019-12-01 18:35  Handsome、Snake  阅读(202)  评论(0编辑  收藏  举报