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}






原文地址:https://www.cnblogs.com/hrnn/p/13304621.html