python爬虫03 Urllib库
Urllib
这可是 python 内置的库
在 Python 这个内置的 Urllib 库中
有这么 4 个模块
request
request模块是我们用的比较多的
就是用它来发起请求
所以我们重点说说这个模块
error
error模块呢,就是当我们在使用 request 模块遇到错了
就可以用它来进行异常处理
parse
parse模块就是用来解析我们的 URL 地址的,比如解析域名地址啦,URL指定的目录等
robotparser
这个用的就比较少了,它就是用来解析网站的 robot.txt
'''
import urllib.request
response=urllib.request.urlopen('http://www.baidu.com')
print(response.read().decode('utf-8'))
'''
from urllib import request,parse
import ssl
context=ssl._create_unverified_context()
url='http://biihu.cc//account/ajax/login_process/'
headers = {
#假装自己是浏览器
'User-Agent':' Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',
}
dict={
'return_url':'https://bihu.cc',
'user_name':'xiaoshuaib@gmail.com',
'passward':'123456789',
'_post_type':'ajax',
}
data=bytes(parse.urlencode(dict),'utf-8')
req=request.Request(url,data=data,headers=headers,method='POST')
response=request.urlopen(req,context=context)
print(response.read().decode('utf-8'))
我们来模拟登陆
进入网站进行登录
我们来抓一下数据先
通过 Fiddler 可以看到我们的请求参数
然后我们再看看我们的请求头信息
好了
知道这些之后我们就可以来模拟登录了
导入 urllib
from urllib import request,parse
import ssl
在这里我们还要导入 ssl
因为逼乎这个b用的是 https
我们可以使用 ssl 未经验证的上下文
context = ssl._create_unverified_context()
接着定义一下我们的请求 url 和 header
url = 'https://biihu.cc//account/ajax/login_process/'
headers = {
#假装自己是浏览器
'User-Agent':' Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36',
}
再定义一下我们的请求参数
dict = {
'return_url':'https://biihu.cc/',
'user_name':'xiaoshuaib@gmail.com',
'password':'123456789',
'_post_type':'ajax',
}
我们把请求的参数转化为 byte
data = bytes(parse.urlencode(dict),'utf-8')
然后我们就可以封装 request 了
req = request.Request(url,data=data,headers=headers,method='POST')
最后我们进行请求
response = request.urlopen(req,context=context)
print(response.read().decode('utf-8'))
ok
这样我们就模拟登录了
运行一下看看
{"rsm":{"url":"https:\/\/biihu.cc\/home\/first_login-TRUE"},"errno":1,"err":null}
python爬虫03 Urllib库的更多相关文章
- python爬虫之urllib库(三)
python爬虫之urllib库(三) urllib库 访问网页都是通过HTTP协议进行的,而HTTP协议是一种无状态的协议,即记不住来者何人.举个栗子,天猫上买东西,需要先登录天猫账号进入主页,再去 ...
- python爬虫之urllib库(二)
python爬虫之urllib库(二) urllib库 超时设置 网页长时间无法响应的,系统会判断网页超时,无法打开网页.对于爬虫而言,我们作为网页的访问者,不能一直等着服务器给我们返回错误信息,耗费 ...
- python爬虫之urllib库(一)
python爬虫之urllib库(一) urllib库 urllib库是python提供的一种用于操作URL的模块,python2中是urllib和urllib2两个库文件,python3中整合在了u ...
- python爬虫之urllib库介绍
一.urllib库 urllib是Python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求.其常被用到的子模块在Python3中的为urllib.request和urllib. ...
- python 爬虫之 urllib库
文章更新于:2020-03-02 注:代码来自老师授课用样例. 一.初识 urllib 库 在 python2.x 版本,urllib 与urllib2 是两个库,在 python3.x 版本,二者合 ...
- Python 爬虫之urllib库的使用
urllib库 urllib库是Python中一个最基本的网络请求库.可以模拟浏览器的行为,向指定的服务器发送一个请求,并可以保存服务器返回的数据. urlopen函数: 在Python3的urlli ...
- python爬虫入门urllib库的使用
urllib库的使用,非常简单. import urllib2 response = urllib2.urlopen("http://www.baidu.com") print r ...
- python爬虫之urllib库
请求库 urllib urllib主要分为几个部分 urllib.request 发送请求urllib.error 处理请求过程中出现的异常urllib.parse 处理urlurllib.robot ...
- Python爬虫系列-Urllib库详解
Urllib库详解 Python内置的Http请求库: * urllib.request 请求模块 * urllib.error 异常处理模块 * urllib.parse url解析模块 * url ...
随机推荐
- matlab中strcmpi比较字符串(不区分大小写)
来源:https://ww2.mathworks.cn/help/matlab/ref/strcmpi.html?searchHighlight=strcmpi&s_tid=doc_srcht ...
- day45 Pyhton 数据库Mysql 02
一.前期回顾 数据库 mysql的安装 配置环境 为什么要用数据库? 稳定性 一致性 并发 存取数据效率高 数据库的分类 关系型数据库 mysql oracle sqlserver 非关系型数据库 r ...
- 新手学习C/C++编程过程中常见的那些坑,一定要多多注意!
C/C++中的指针让程序员有了更多的灵活性,但它同时也是一把双刃剑,如果用的不好,则会让你的程序出现各种各样的问题,有人说,C/C++程序员有一半的工作量是花在处理由指针引起的bug上,可想而知,指针 ...
- VS code开发工具的使用教程
前言 工欲善其事必先利其器,提高程序员的开发效率必须要有一个好的开发工具,当前最好的前端开发工具主要有VS code.sublime Text.Atom.Webstorm.Notepad++. VS ...
- selenium-远程调用
1.拉去镜像: docker pull selenium/hub docker pull baozhida/selenium-node-chrome-debug:58 docker pull baoz ...
- java开发环境配置,看这一篇就足够了!
可能平时大家对于安装环境的需求不是那么强烈,但是当你换了一台新电脑时,你就会发现怎么也得花费你几个小时乃至半天一天的时间.故此整理此篇文章,给有需要的小伙伴 注:本文皆win10环境 (1).JDK的 ...
- APP打开(二)—标准流程
APP打开是一个老生常谈的话题,在互联网时代,在APP遍地的时代,APP打开是每一个APP的必经之路,今天我想通过以下几点来阐述APP打开的标准流程,给这个话题写一点自己的见解. APP打开现状 标准 ...
- git折腾日志
git for windows https://git-for-windows.github.io/ 基本配置 进入git bash后执行 $ git config --global user.nam ...
- 如何玩转Python? 一文总结30种Python的窍门和技巧
Python作为2019年必备语言之一,展现了不可替代作用.对于所有的数据科学工作者,如何提高使用Python的效率,这里,总结了30种Python的最佳实践.技巧和窍门.希望这些可以帮助大家在202 ...
- 类型转化 - js中的骚操作
Number Number() 把字符串数字转化成数字类型,布尔类型也可以转化 parseInt parseInt() 字符串数字转化成数字类型,当布尔类型不可以(NaN),但该函数可以把数字开头的数 ...