,软件运行监听地址 ,扫码登录,爬虫介绍,requests模块介绍和快速使用,get请求携带参数,编码和解码,携带请求头,发送post请求携带数据,携带cookie两种方式

发布时间 2023-07-07 21:04:50作者: 无敌大帅逼

补充

# 软件运行,监听地址
127.0.0.1
	只能访问 127.0.0.1  localhost  不能用本机ip地址访问,外部所有人都不能 访问你

0.0.0.0
	127.0.0.1  localhost 本机ip地址访问  同一个局域网内,都可以通过ip地址访问 

    
# 本地host解析
	输入网址---》www.baidu.com---->找本地host文件---》找跟ip地址的对应关系----》找到直接访问这个ip地址----如果找不到----》用你配置的dns解析

1 扫码登录功能

# 1 网站上,点击扫码登录----》弹出二维码
	-向后端发送请求----》后端生成二维码---》返回---》前端显示了---》放了个链接地址
    
# 2 掏出手机,打开对应的app-----》扫描二维码----》app能解析出这个地址----》取出你当前app登录的token----》向这个地址发送请求,携带token
	-后端有个 携带token请求登录的接口
    -后端接口:拿到请求传入的token,解析出当前用户----》签发token----》找个地方存着
    
# 3 网站上,开启了定时任务,不停的向后端发送请求----》查询有没有我让它签发token
	-一旦发现没有,过一会在发,3分钟内不停的发
    -一旦发现有,携带回来---》token---》前端就登录成功了
    
    
    
 # 后端接口
	-1 生成二维码接口
    -2 手机携带token,得到用户,再签发token的接口
    -3 网站获取token接口
    
    
# 前端
	-二维码页面
    -定时任务

2 爬虫介绍

#  爬虫:又称网络蜘蛛,spider,一堆程序,从互联网中抓取数据----》数据清洗---->入库


# 爬虫需要掌握的知识
	-抓取数据:发送网络请求(http),获得响应(http响应,响应头,响应体---》真正重要的数据在响应体中)
    	-python模块:requests,selenium
        
    -清洗数据:解析拿回来的数据---》json,xml,html,二进制
    	-json解析,xml解析。。。
        -python模块:re,json,beautifulsoup4(bs4),lxml,selenium
        
    -入库:存文件,存mysql,redis,mongodb
    	-python模块:file,pymsql,redis-py,pymongo
# 反扒
	-频率限制
    -封ip(代理池),封账号(一堆小号:cookie池)
    -请求头中带加密信息,referer,user-agent。。。
    -响应回来的数据是加密
    -验证码反扒(破解验证码---》第三方平台)
    -js加密---》压缩---》加密方法其实在前端能看到---》看上去很晦涩
    -手机设备:唯一id号

    
# 搜索引擎都是大爬虫
	-百度输入框搜索---》美女---》去百度的数据库搜索----》显示在页面上
    -百度一刻不停的在互联网中爬网页,爬完存到它的数据库
    	-seo优化:免费排中,排靠前
        -sem优化:搜出来的靠前的,带广告的是花钱的,买断关键词
        
        
        
 #可见即可爬

3 requests模块介绍和快速使用

# requests是模拟发送http请求的模块
	-不仅仅可以做爬虫
    -后端服务,请求别人服务
    
    
 # pip3 install requests


###1 使用requests发送get请求
import requests
# res 响应对象,http响应,python包装成了对象,响应头,响应头。。。在res中都会有
res=requests.get('https://www.cnblogs.com/liuqingzheng/p/16005866.html')
print(res.text) # 响应体转成字符串

4 get请求携带参数

 res=requests.get('https://www.cnblogs.com/liuqingzheng/p/16005866.html/?name=lqz&age=19')

res=requests.get('https://www.cnblogs.com/liuqingzheng/p/16005866.html/',params={'name':"lqz",'age':19})

res=requests.get('https://www.baidu.com/s?wd=%E5%B8%85%E5%93%A5')

print(res.text) # 响应体转成字符串

print(res.url)  #https://www.cnblogs.com/liuqingzheng/p/16005866.html?name=lqz&age=19

5 编码和解码

from urllib.parse import quote,unquote
print(unquote('%E5%B8%85%E5%93%A5'))
print(quote("帅哥"))  # %E5%B8%85%E5%93%A5

5 携带请求头

header={
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
}
res=requests.get('https://dig.chouti.com/',headers=header)
print(res.text)

6 发送post请求,携带数据

header = {
    'Referer': 'http://www.aa7a.cn/user.php?&ref=http%3A%2F%2Fwww.aa7a.cn%2F',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
}

data = {
    'username': '616564099@qq.com',
    'password': 'lqz123',
    'captcha': 'xxxx',
    'remember': 1,
    'ref': ' http://www.aa7a.cn/',
    'act': 'act_login'
}
# data,json请求体的数据
# 编码方式是 urlencoded
# res = requests.post('http://www.aa7a.cn/user.php', data=data, headers=header)
# # 编码是json格式
# # res = requests.post('http://www.aa7a.cn/user.php',json=data,headers=header)
# print(res.text)

7 携带cookie两种方式

## 方式一
# cookie = res.cookies
# print(cookie)
# ## 请求携带cookie 方式二:使用cookie参数
# res1 = requests.get('http://www.aa7a.cn/',cookies=cookie)
# print('616564099@qq.com' in res1.text)


# 方式二
# 方式一:携带在请求头中
header = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36',
    'Cookie':'deviceId=web.eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqaWQiOiI3MzAyZDQ5Yy1mMmUwLTRkZGItOTZlZi1hZGFmZTkwMDBhMTEiLCJleHBpcmUiOiIxNjYxNjU0MjYwNDk4In0.4Y4LLlAEWzBuPRK2_z7mBqz4Tw5h1WeqibvkBG6GM3I; __snaker__id=ozS67xizRqJGq819; YD00000980905869%3AWM_TID=M%2BzgJgGYDW5FVFVAVQbFGXQ654xCRHj8; _9755xjdesxxd_=32; Hm_lvt_03b2668f8e8699e91d479d62bc7630f1=1688616419; YD00000980905869%3AWM_NI=KpVsBKpke6xW0Ozhu07T2FswNWgn4UaBQdTBY7Z6X6f6CbQtBNZDQJ94vZ3PUgbkpIvoPsM5PprPUE2dtyRVhLPXd2cjrMI7MRtbiJtL2lJGNgPkbgbKwARmuFZz5K2JRDE%3D; YD00000980905869%3AWM_NIKE=9ca17ae2e6ffcda170e2e6eeabc744f4aefca3f03d89e78ab7d54a878e9fb1d468f4b28c83cc5383928daced2af0fea7c3b92a89b09a94c141b4b5abd7fb5df491b689f83cf58cfea7f27d8e89a98fb75fa39e9f85d74a9be996d7db3ea6ea8d83d480829296a5d442fbecbabbb25c97b9ae8cf343b6b1a094d03f94b0beb1d84ff2bcbc9ad15eac94a0b9e73aa1b6beaecc3d8f8ebc83ec42b894fe8dc94d8eb9a08ce16da295b9a2d167b79a969bb841f2969ea5c837e2a3; gdxidpyhxdE=8v%5CAccgIfMa0JDz9H9Ptnc%5Cc3owLo0EZ2IiWyPHAKTiu67%2BrKDu4bwfw5Wcy5as25LX3%2FpCICt2Gdf4%5CJ1WmqzAmbQaTarBZsdITdIu021%5C7VhnnOlNgw%2FcwwB5gYpzyegJoffKg6r2DfKJKKP%2FLokWEI0auXpasnO8CAetcf5ijccoZ%3A1688618634928; token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqaWQiOiJjZHVfNTMyMDcwNzg0NjAiLCJleHBpcmUiOiIxNjkxMjA5NzM4NjA1In0.SZmVRy5HxKkmNTDCSQ5LEX-fkx3KyH0_jt0Wi-GEnLE; Hm_lpvt_03b2668f8e8699e91d479d62bc7630f1=1688617739',
}
data = {
    'linkId': '39196098'
}
res = requests.post('https://dig.chouti.com/link/vote', headers=header,data=data)
print(res.text)