python基础--urllib
文章目录
- urllib包
- 介绍
- urllib.request模块
- urllib.error 模块
- urllib.parse模块
- 构建流程
urllib包
介绍
request:主要负责构造和发起网络请求,定义了适用于在各种复杂情况下打开 URL (主要为 HTTP) 的函数和类
error:处理异常
parse:解析各种数据格式
robotparser:解析robots.txt文件
urllib.request模块
url:表示进行操作的URL地址
data:要发送到服务器的数据
timeout:设置网站的访问超时时间
urllib.request.urlopen(url,data=None,[timeout, ]*,cafile=None,capath=None,cadefault=False,context=None)
# 使用urlopen()方法在百度搜索关键词中得第一页连接
from urllib.request import urlopen #导入python的内置模块
from urllib.parse import urlencode #导入python的内置模块
import re
##wd=input(输入一个要搜索的关键字:’)
wd='www.toppr.net' #初始化变量wd
wd=urlencode({'wd':wd})
url='http://www.baidu.com/s?'+wd
page=urlopen(url).read()
#定义变量content,对网页进行编码处理,并实现特殊字符处理
content=(page.decode('utf-8')).replace("\n","").replace("\t","")
title=re.findall(r'<h3 class="t".*?h3>',content)
#正则表达式处理
title=[item[item.find('href =')+6:item.find('target=')] for item in title]
title=[item.replace('',").replace("",") for item in title]
for item in title: #遍历titleprint(item)
urllib.error 模块
在urllib中主要设置了两个异常,一个是URLError,一个是HTTPError,HTTPError是URLError的子类。
HTTPError还包含了三个属性:
code:请求的状态码
reason:错误的原因
headers:响应的报头
from urllib.error import HTTPError
try:request.urlopen('https://www.baidu.com')
except HTTPError as e:print(e.code)
urllib.parse模块
data参数需要用urllib.parse模块对其进行数据格式处理。
urllib.parse.quote(url):(URL编码处理)主要对URL中的非ASCII码编码处理
urllib.parse.unquote(url):(URL解码处理)URL上的特殊字符还原
urllib.parse.urlencode:对请求数据data进行格式转换
构建流程
from bs4 import BeautifulSoup #网页解析,获取数据
import re #正则表达式,进行文字匹配
import urllib.request,urllib.error #定制URL,获取网页数据
import xlwt #进行excel操作
import sqlite3 #进行SQLlite数据库操作
def main():baseurl="https://movie.douban.com/top250?start="
# 1爬取数据datalist=getData(baseurl)savepath=".\\豆瓣电影TOP250.xls"saveData(savepath)# 爬取网页
def getData(baseurl):datalist=[]# 2解析数据return datalist
# 3保存数据def saveData(savepath):if __name__=="__main__":#当程序执行时print("***")
import urllib.request# 获取get请求
from socket import timeout
from urllib import requestfrom networkx.release import urlresponce=urllib.request.urlopen("https://www.baidu.com")
print(responce.read().decode('utf-8'))#将读取的文件用UTF-8来解析# 获取一个post请求
responce=urllib.request.urlopen("http://httpbin.org/#/HTTP_Methods/post_post")
print(responce.read().decode('utf-8'))
python基础--urllib相关推荐
- 爬虫学习笔记-python基础+urllib
目录 一.Python基础知识回顾 1.pip下载源 2.pycharm设置作者信息 3.python注释 4.变量 4.1 类型转换 4.2 字符串函数 find函数 startswith和ends ...
- 数据分析与爬虫实战视频——学习笔记(一)(python基础、urllib、超时设置、自动模拟HTTP请求、异常处理、浏览器伪装、代理服务器、新闻爬虫、淘宝登陆和图片爬取)
未经允许,请勿转载. 连载未完成状态 网址: [数据挖掘]2019年最新python3 数据分析与爬虫实战_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili https://www.bilibili ...
- python 基础知识点整理 和详细应用
Python教程 Python是一种简单易学,功能强大的编程语言.它包含了高效的高级数据结构和简单而有效的方法,面向对象编程.Python优雅的语法,动态类型,以及它天然的解释能力,使其成为理想的语言 ...
- python基础知识理解
一.概述 看了一天的python基础语法,基本对python语法有了一个大概的了解(其实之前断断续续也看过python),学习网址:Python 基础教程.因为之前我学过C++,因此在学习python ...
- 九. Python基础(9)--命名空间, 作用域
九. Python基础(9)--命名空间, 作用域 1 ● !a 与 not a 注意, C/C++可以用if !a表示if a == 0, 但是Python中只能用if not a来表示同样的意义. ...
- python基础教程第三版豆瓣-1024,程序媛/猿请查收!
点击上方蓝字关注我们 节专享福利:1024程序员 本期活动,不仅有赠书福利,且有购书福利,图灵公司联合当当网特意为{印象python}读者们申请了一波购书福利.感兴趣的读者朋友,请下拉至文末,领取福利 ...
- 学python爬虫需要什么基础-学爬虫,需要掌握哪些Python基础?
入手爬虫确实不要求你精通Python编程,但基础知识还是不能忽视的,那么我们需要哪些Python基础呢? 首先我们先来看看一个最简单的爬虫流程: 第一步要确定爬取页面的链接,由于我们通常爬取的内容不止 ...
- python开发需要掌握哪些知识-Python基础进阶需要掌握哪些知识点?
Python基础进阶需要掌握哪些知识点?Python将是每个程序员的标配,有编程基础再掌握Python语言对于日后的升职加薪更有利.Python语言简洁利于理解,语法上相对容易能够让开发者更专注于业务 ...
- python基础知识整理-python爬虫基础知识点整理
首先爬虫是什么? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本. 根据我的经验,要学习Python爬虫 ...
最新文章
- Microbiome:芝麻菜中肠杆菌科主导核心微生物组并贡献抗生素抗性组
- 使用Apache Commons Configuration读取配置信息
- python数据比例_#python# #数据分析# 性别比例分析
- php mysql update 返回_php mysql_query增删改查(update delete insert)返回值类型
- pip 另一种安装方法:python setup.py install
- Tensorflow实现多元线性回归
- 编写delegate(明天补充)
- 日志服务(原SLS)新功能发布(4)-- 使用OSS进行日志存储与分析
- python顺序查找算法解释_顺序查找算法详解(包含C语言实现代码)
- 线性代数知识荟萃(4)——矩阵相抵
- 浏览器关闭百度右侧的图片推荐---简洁就是美
- 在Spring环境下存取properties文件中的数值
- 基于神经网络和相关性分析的数学建模思路分享
- 离散数学 | 数理逻辑
- android pad的屏幕纯多少,16:9比例10.1寸屏幕,Galaxy Tab S4可以说是一部好的安卓平板...
- GTC 2020:开发者谈NS版《巫师3》移植
- 计算机数据存储原理 以及 进制
- 烟雾检测电路c语言程序,基于51单片机火灾报警器系统烟雾检测温度检测设计(原理图+程序仿真+论文)...
- php秒表计时器,JS实现可暂停秒表计时器的效果(图文详解)
- 7、TM4单片机学习之串口功能