第一步:

get

# -*- coding:utf-8  -*-
# 日期:2018/5/15 19:39
# Author:小鼠标
from urllib import request url = 'http://news.sina.com.cn/guide/'
response = request.urlopen(url) #返回http对象
web_data = response.read().decode('utf-8') #响应内容
web_status = response.status #响应状态码
print(web_status,web_data)

post

# -*- coding:utf-8  -*-
# 日期:2018/5/15 19:39
# Author:小鼠标
from urllib import request,parse url = 'http://news.sina.com.cn/guide/'
#post表单提交的内容
data = [
('name','xiaoshubiao'),
('pwd','xiaoshubiao')
]
login_data = parse.urlencode(data).encode('utf-8')
response = request.urlopen(url,data = login_data) #返回http对象
web_data = response.read().decode('utf-8') #响应内容
web_status = response.status #响应状态码
print(web_status,web_data)

第二步:伪装浏览器

# -*- coding:utf-8  -*-
# 日期:2018/5/15 19:39
# Author:小鼠标
from urllib import request,parse url = 'http://news.sina.com.cn/guide/'
req = request.Request(url)
req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 UBrowser/6.2.3964.2 Safari/537.36')
req.add_header('Accept','text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8')
response = request.urlopen(req)
web_data = response.read().decode('utf-8') #响应内容
web_status = response.status #响应状态码
print(web_status,web_data)

第三步:使用代理ip

# -*- coding:utf-8  -*-
# 日期:2018/5/15 19:39
# Author:小鼠标
from urllib import request,parse url = 'http://news.sina.com.cn/guide/'
req = request.Request(url)
#使用代理ip
proxy = request.ProxyHandler({'http':'221.207.29.185:80'})
opener = request.build_opener(proxy, request.HTTPHandler)
request.install_opener(opener) req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 UBrowser/6.2.3964.2 Safari/537.36')
req.add_header('Accept','text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8')
response = request.urlopen(req)
web_data = response.read().decode('utf-8') #响应内容
web_status = response.status #响应状态码
print(web_status,web_data)

第四步:内容解析

  可以使用封装好的BeautifulSoup,也可以使用re正则来匹配,原理都差不多。

学习笔记 urllib的更多相关文章

  1. 爬虫学习笔记-urllib库

    urllib库是python中一个最基本的网络请求库.可以模拟浏览器的行为,向指定的服务器发送一个请求,并可以保存服务器返回的数据. urlopen函数:在python3的urllib库中,所有和网络 ...

  2. python学习笔记——urllib库中的parse

    1 urllib.parse urllib 库中包含有如下内容 Package contents error parse request response robotparser 其中urllib.p ...

  3. Python3学习笔记(urllib模块的使用)转http://www.cnblogs.com/Lands-ljk/p/5447127.html

    Python3学习笔记(urllib模块的使用)   1.基本方法 urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None,  ...

  4. python3.4学习笔记(十七) 网络爬虫使用Beautifulsoup4抓取内容

    python3.4学习笔记(十七) 网络爬虫使用Beautifulsoup4抓取内容 Beautiful Soup 是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖 ...

  5. python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例

    python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例 新浪爱彩双色球开奖数据URL:http://zst.aicai.com/ssq/openInfo/ 最终输出结果格 ...

  6. python网络爬虫学习笔记

    python网络爬虫学习笔记 By 钟桓 9月 4 2014 更新日期:9月 4 2014 文章文件夹 1. 介绍: 2. 从简单语句中開始: 3. 传送数据给server 4. HTTP头-描写叙述 ...

  7. 学习笔记:python3,代码。小例子习作(2017)

    http://www.cnblogs.com/qq21270/p/7634025.html 学习笔记:python3,一些基本语句(一些基础语法的代码,被挪到这里了) 日期和时间操作 http://b ...

  8. python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码

    python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码 淘宝IP地址库 http://ip.taobao.com/目前提供的服务包括:1. 根据用户提供的 ...

  9. python3.4学习笔记(四) 3.x和2.x的区别,持续更新

    python3.4学习笔记(四) 3.x和2.x的区别 在2.x中:print html,3.x中必须改成:print(html) import urllib2ImportError: No modu ...

随机推荐

  1. springboot+mybatis-puls利用swagger构建api文档

    项目开发常采用前后端分离的方式.前后端通过API进行交互,在Swagger UI中,前后端人员能够直观预览并且测试API,方便前后端人员同步开发. 在SpringBoot中集成swagger,步骤如下 ...

  2. C#编写CLR函数

    本案例在VS2017环境中开发: 1.新建项目,“数据库项目”,添加 UserDefinedFunctions.cs类文件,代码如下: using System; using System.Data; ...

  3. 关于修改banner信息;nginx反向代理apache应用

    本周实验 1. Linux下Apache部署一个php页面,返回http数据包中查看server信息,修改Apache 配置使server banner自定义. 2. nginx设置反向代理,代理上面 ...

  4. buildroot管理uboot+kernel+rootfs

    鉴于自己制作根文件系统太麻烦了,所以想用buildroot管理uboot,kernel,另外还可以自动生产rootfs,于是花了两天研究了下buildroot的框架和使用,在自己的2440开发板上也跑 ...

  5. blade 已开源

    https://github.com/crazii 开源的主要原因是一个人写不动了, 而且已经很久没更新代码了. 希望有人能够感兴趣, 提供贡献. 距离上次更新日志已经很久了, 中间大概加了以下fea ...

  6. GraphQL搭配MongoDB入门项目实战

    什么是GraphQL GraphQL 是一种面向 API 的查询语言.在互联网早期,需求都以 Web 为主,那时候数据和业务需求都不复杂,所以用 RestAPI 的方式完全可以满足需求.但是随着互联网 ...

  7. AJAX实现注册

    先添加点击事件: <input type="button" id="submittt" value="注册"/> 展示提示消息: ...

  8. http options 请求

  9. TR069网管测试华为ITMS平台(内部测试使用)

    声明:本篇华为ITMS平台仅用于学习和测试使用,如果需要商用,请购买正版软件! 原创作品,转载请注明出处,严禁非法转载或者用于商业目的! email:40879506@qq.com 一. 准备软件 V ...

  10. linux系统服务详解

    下面现介绍一下运行次序和运行级别: 一个 Linux 系统的引导过程可以分为几个阶段.我们主要看看当内核加载后的那一个阶段.你可以运行runlevel 命令来确定您的系统当前的运行级,当内核被加载并开 ...