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
urllib的简单使用的更多相关文章
- Python3网络爬虫(1):利用urllib进行简单的网页抓取
1.开发环境 pycharm2017.3.3 python3.5 2.网络爬虫的定义 网络爬虫,也叫网络蜘蛛(web spider),如果把互联网比喻成一个蜘蛛网,spider就是一只在网上爬来爬去的 ...
- 2.2使用urllib的简单传输
使用urllib传输文件 from urllib.request import urlopen filename = 'new_1.py' password = 'password' #如果设置密码 ...
- 使用urllib编写python爬虫
新版python中,urllib和urllib2合并了,统一为urllib (1)简单爬取网页 import urllib content = urllib.request.urlopen(req). ...
- urllib 源码小剖
urllib 源码小剖 urllib 是 python 内置的网络爬虫模块,如果熟悉 python 一定能很快上手使用 urllib. 写这篇文章的目的是因为用到了它,但因为用的次数较多,又或者是具体 ...
- [初学Python]编写一个最简单判断SQL注入的检测工具
0x01 背景 15年那会,几乎可以说是渗透最火的一年,各种教程各种文章,本人也是有幸在那几年学到了一些皮毛,中间因学业问题将其荒废至今.当初最早学的便是,and 1=1 和 and 1=2 这最简单 ...
- python(25)下载文件
利用程序自己编写下载文件挺有意思的.Python中最流行的方法就是通过Http利用urllib或者urllib2模块.当然你也可以利用ftplib从ftp站点下载文件.此外Python还提供了另外一种 ...
- [转] 三种Python下载url并保存文件的代码
原文 三种Python下载url并保存文件的代码 利用程序自己编写下载文件挺有意思的. Python中最流行的方法就是通过Http利用urllib或者urllib2模块. 当然你也可以利用ftplib ...
- python网络编程(六)---web客户端访问
1.获取web页面 urllib2 支持任何协议的工作---不仅仅是http,还包括FTP,Gopher. import urllib2 req=urllib2.Request('http://www ...
- Django如何设置proxy
设置porxy的原因 一般情况下我们代理设置是针对与浏览器而言,通常只需在浏览器设置中进行配置,但它只针对浏览器有效,对我们自己编写的程序并任何效果,这时就需要我们在软件编码中加入代理设置. --- ...
随机推荐
- JavaWeb_(Spring框架)注解配置
系列博文 JavaWeb_(Spring框架)xml配置文件 传送门 JavaWeb_(Spring框架)注解配置 传送门 Spring注解配置 a)导包和约束:基本包.aop包+context约束 ...
- idhttp访问HTTPS
idhttp访问HTTPS 访问一个 WEB 网站,如果采用 HTTP 的话,直接使用 TIdHTTP 这个控件,最简单的用法是: S := IdHTTP1.Get('www.qq.com'); 这里 ...
- 多进程之间的互斥信号量的实现(Linux和windows跨平台)
最近工作中遇到了一些关于文件读取权限的问题.当一个程序中对一个固定名称的文件做了读写的操作的时候,外界通过并发式的调用这个应用的时候,可能存在多个进程同时去操作这个文件,这个时候可能会造成调用失败的问 ...
- Gokit微服务-服务链路追踪
https://mp.weixin.qq.com/s/gjKOy4SDpsjUXDC3Q1YdFw Gokit微服务-服务链路追踪 原创: 兮一昂吧 兮一昂吧 2月28日
- hadoop查看文件大小
hadoop fs -du /yj/input/ 列出input下所有文件的大小,以B为单位 #!/bin/sh #echo "hadoop fs -du /" hadoop fs ...
- 各个处理器架构ISA编程指南
1.Intel官方文档: http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manu ...
- Git报错: OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
在使用Git来克隆仓库报了错误,如下: fatal: unable to access ‘https://github.com/xiaobingchan/machine_learn/‘: OpenSS ...
- JAVA 基础编程练习题21 【程序 21 求阶乘】
21 [程序 21 求阶乘] 题目:求 1+2!+3!+...+20!的和 程序分析:此程序只是把累加变成了累乘. package cskaoyan; public class cskaoyan21 ...
- 反向代理远端 单台tomcat 使用域名代理
.环境 nginx 10.1.1.161 公网:123.58.251.166 tomcat 10.1.1.103 .远端tomcat 配置 [root@host---- ~]# netstat -tn ...
- 第五章 局域网的ARP 欺骗
@ARP欺骗 arp欺骗仅限于局域网. arp欺骗虽然仅限于局域网,但却能让我们掌握网络的布局,以及如何通信:所以,我觉得这个章节非常有用. 监控本机流量 kali linux默认是不转发ip,如果我 ...