首页 > 其他分享 >爬虫学习02之模拟登录以及代理

爬虫学习02之模拟登录以及代理

时间:2023-03-15 18:55:22浏览次数:32  
标签:02 cookies 登录 url 爬虫 headers cookie requests

一、调试模式介绍

调试模式,即进入网页页面半代码模式,查看网页与代码一一对应关系。鼠标右键,再出现选项中找到检查进入调试模式,或者按键盘上的F12键进入调试模式。

功能介绍:

 

elements:点击这个功能后出现的是当前页面的html文件,在你想实时修改的那个元素出双击,可以暂时修改,不过并没有同步到后台;

console:控制台,用来打印错误信息和你在后台写的console.log(“显示信息”)

source:资源管理功能,用于调试js文件,这里要说明的一点是,在右侧找不到你想调试的js文件时,可以在后台写“debugger”进入到这个js文件后可以在右侧单击打断点,想调哪里就哪里;

network:网络功能,用于查看相关的ajax请求,详情参考上图所示。

二、Cookie

cookie的用处

当客户端和服务器通过三次握手四次挥手建立起稳定连接之后,这个时候它们之间进行数据相互还会携带一个cookie参数。这个参数包含着诸如账号、密码以及一些偏好设置,一边提供个性化的内容。

当然cookie也是有 有效期的,超过有效期cookie将会清除作废,所以在编写一个cookie爬虫代码的时候,并不是一次编写永久运行。每隔一段时间段就需要更新cookie。

cookie的应用

什么时候使用cookie?

1. 当模拟登录不好编写时(结构复杂,有加密);

2. 只有cookie没有账号密码;

3. 网站根据cookie对用户进行推荐,专门爬取某人的个人推荐时。

在代码中利用cookies?

1. 将cookie写入headers中;

2. 使用get方法中的cookies参数进行传递  注意:参数必须为字典类型;

注意事项:

1. 自定义headers中的cookie,后面没有s(非cookies);

2. get方法中的cookies参数  cookies后面有s;

3. cookie一定是键值对存在的。

会话保持

1. 为什么要进行会话保持?

在requests.post请求中,去登录一个网站,会携带用户名和密码等信息。得到的response响应中,得到了cookie。但是这个时候如果我们成功登录进去了网页,想要打开网页的其他部分,会发现访问失败了。因为每一个requests请求,都是新打开一个浏览器去进行访问的,那我们不肯能去做每一个请求都要去登录一下怎么办? 就需要用到保持会话的功能了,我们可以只登录一次,然后保持这种状态去做其他的或者更多的请求。

2. requests.session() 会话保持!

说白了,就是比如你使用session成功登录了某个网站,则在再次使用该session对象请求该网站的其他网页默认使用该session之前使用的cookie等参数

3. 在什么时候进行使用?

1. 需要爬虫保持登录状态;

2. 爬虫需要携带一些特定的参数。比如购物网站的无登录状态下的推荐,主要是cookie。

模拟登录---使用requests

import requests
from requests.utils import dict_from_cookiejar   # cookiejar对象转字典
url = "https://www.xxsy.net/LoginNew/dologin" 
book_url = "https://www.xxsy.net/control?t=1"  # 书架url,如果没有登录进去是访问不了书架的
headers = {
     “user-agent”: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36"      
}

# 账号密码
data = {
    "username": "18986145549"
    "password": "dongli123456"
}

# 发起一个post请求
response1 = requests.post(url, headers=headers, data=data)

# 通过往get请求里面传cookie访问书架页面
response2 = requests.get(book_url, headers=headers, cookies=dict_from_cookiejar(response1.cookies))
print(response2.text)

 

 

三、代理、禁止重定向

 

标签:02,cookies,登录,url,爬虫,headers,cookie,requests
From: https://www.cnblogs.com/lxinghua/p/17219226.html

相关文章

  • 爬虫01
    目录1爬虫介绍2requests模块介绍3requests发送get请求4request携带参数5url编码解码6携带请求头7发送post请求,携带数据8自动登录,携带cookie的两种方式9requests.......
  • 2023年国漫前瞻:出海、漫改剧、元宇宙
    文|螳螂观察作者|青月谁读书的时候没有废寝忘食的看过一本漫画?那会,碰到一本有趣的漫画,真的是日夜奋战、如饥似渴。白天在课堂上,老师在上面讲,我们在下面急速浏览;晚上回到寝......
  • CCF 2022-12
    一:试题编号:2022-12-1试题名称:现值计算时间限制:1.0s内存限制:512.0MB问题描述:样例输入20.05-200100100样例输出-14.059样例说明该项目当前支出 200 元,在接下来两年每年收......
  • 自定义登录成功处理和失败处理
    自定义登录成功处理和失败处理在某些场景下,用户登录成功或者数失败的情况下用户需要执行一些后续操作,比如登录日志搜集,或者在现在目前前后端分离的情况下,用户登录成功和失......
  • selenium自动化测试-qq邮箱登录
    fromtimeimportsleepfromseleniumimportwebdriverfromselenium.webdriver.common.byimportByfromselenium.webdriver.chrome.optionsimportOptionsoptions=O......
  • 爬虫-requests
    1.爬虫介绍爬虫就是程序从互联网中各个网站上爬取数据(只能爬区我们能看到的数据),然后进行数据清洗(筛选),入库。爬虫的本质:模拟http请求,获取数据,入库。百度就是一个大......
  • 爬虫介绍
    爬虫介绍爬虫是什么? -爬虫就是程序---》从互联网中,各个网站上,爬取数据[你能浏览的页面才能爬],做数据清晰爬虫的本质 -模拟http请求,获取数据---》入库 -网站 -......
  • 爬虫介绍、requests模块发送get请求、get请求携带参数、携带请求头、携带cookie、发送
    目录今日内容1爬虫介绍2requests模块发送get请求3get请求携带参数4携带请求头5携带cookie6发送post请求7响应Response8获取二进制数据9解析json#期终架构 -后......
  • 获取当前登录用户
    获取当前登录用户传统web系统中,我们将登陆成功的用户放入session中,在需要的时候,可以从session中获取用户,那么springSecurity中我们可以从以下两个类获得当前已经登录的用......
  • day15 打卡102. 二叉树的层序遍历 226.翻转二叉树 101.对称二叉树 2
    day15打卡102.二叉树的层序遍历226.翻转二叉树101.对称二叉树2102.二叉树的层序遍历102题目链接1.使用队列classSolution{publicList<List<Integer>>le......