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的原因 一般情况下我们代理设置是针对与浏览器而言,通常只需在浏览器设置中进行配置,但它只针对浏览器有效,对我们自己编写的程序并任何效果,这时就需要我们在软件编码中加入代理设置. --- ...
随机推荐
- AE开发之shp转txt
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- 使用sequelize-auto 生成mysql 表的实体时主键没有 autoIncrement: true 属性
使用sequelize-auto 生成mysql 表时主键没有 autoIncrement: true 属性,这会导致插入数据时报错.看git上面是已经解决了的,解决方法是修改查询语句模板.我用的是0 ...
- Java 线程概述
1 进程与线程基本概念 1.1 进程:执行中的程序 每个进程都有独立的代码和数据空间(进程上下文),进程空间切换会有较大的开销,一个进程包含1-n个线程.进程是资源分配的最小单位. 1.2 线程:进程 ...
- 黑马vue---31-32、vue过滤器实例
黑马vue---31-32.vue过滤器实例 一.总结 一句话总结: vue内部的东西,无论是过滤器还是组件,都是键值对的方式 1.过滤器的定义语法? Vue.filter('过滤器的名称', fun ...
- Flask-分开Models解决循环引用
Flask-分开Models解决循环引用 在之前我们测试中,所有语句都在同一个文件中,但随着项目越来越大,管理起来有所不便,所以将Models分离.基本的文件结构如下 \—–app.py\—–mode ...
- thinkphp模版主题使用方法
3.1.3模版主题使用方法,手册貌似没有.配置项: 'DEFAULT_THEME'=>'default',//默认主题 'THEME_LIST'=>'default,theme',//主题 ...
- 阶段5 3.微服务项目【学成在线】_day04 页面静态化_04-freemarker基础-基础语法种类
注释 编译一些这个模板 我的IDEA里面,是重新编译 刷新页面 注释.插值.FTL.文本
- logback 和 log4j对比,及相关配置
Logback 一.logback的介绍 Logback是由log4j创始人设计的又一个开源日志组件.logback当前分成三个模块:logback-core,logback- classic和log ...
- JAVA 基础编程练习题40 【程序 40 字符串排序】
40 [程序 40 字符串排序] 题目:字符串排序. package cskaoyan; public class cskaoyan40 { @org.junit.Test public void a ...
- centos7用yum安装node.js v8.x
1.更新node.js v8.x yum源 // 不更新,提示没有 packages文件 # curl --silent --location https://rpm.nodesource.com/s ...