首页 > 编程语言 >Python scrapy 爬虫 模拟登录

Python scrapy 爬虫 模拟登录

时间:2022-09-04 17:22:30浏览次数:83  
标签:类库 浏览器 登录 Python 爬虫 undetected chromedriver scrapy

模拟登录,可以解决某些网站,必须要登录才能抓取的问题。

模拟登录就是要拿到网站的 cookie。

当爬虫程序进入网站开始抓取时数据时,爬虫的入口并不是 scrapy  给定的 pass ,而是 scrapy 封装好的  start_requests ,这个方法就是对 start_urls 执行 for 循环,然后把它 yield Request 出去。

对我们模拟登录来讲,只需要修改它的这个 for 循环,直接把这个 start_requests 方法覆盖掉就可以了。

 

模拟登录,需要使用 Selenium 类库 , Selenium 是个浏览器自动化项目,它的核心是 WebDriver ,可以控制浏览器进行点击,移动,输入等。

目前 Selenium 有个缺陷,在控制浏览器时,会被一些知名网站识别出来,比如知乎、拉勾等,也就是被 反爬 了。

selenium 文档

undetected-chromedriver  这个开源项目可以防止被这个大厂的网站识别出来,它可以让 Selenium  变的更加简单,且不容易被发现。需要将这两个项目安装在当前爬虫也在的虚拟环境中:

 


 

安装浏览器自动化类库

 

1. 进入到当前爬虫的虚拟环境

workon py3scrapy

 

2. 安装类库,使用 douban 源,速度非常快

安装文档

pip install selenium -i https://pypi.douban.com/simple
pip install undetected-chromedriver -i https://pypi.douban.com/simple

报下面这个错的原因,是因为我开的代理了,把代理关了就可以了。

正在安装:

 

 

 3. 使用类库,在当前文件中导入这两个类库

undetected-chromedriver 的高级用法:

# 把这个复制过来就可以实例化一个浏览器了
import undetected_chromedriver.v2 as uc
browser = uc.Chrome()

 如果有找不到安装的类库时,须再去项目的 python 解释器中找到类库安装的虚拟环境的位置,重新进行配置。

 

未完待续...

 

标签:类库,浏览器,登录,Python,爬虫,undetected,chromedriver,scrapy
From: https://www.cnblogs.com/baiyygynui/p/16654937.html

相关文章

  • 【Python基础】内置函数filter详解
    filter,顾名思义,就是一个过滤器。其作用是从列表(或其他序列类型)中筛选出满足条件的子列表,filter是python的内置函数,无须import即可直接使用。1filter的基础用法对于列表(或......
  • Python中assert断言添加错误提示信息
    参考资料:https://www.cnblogs.com/meina/p/13848090.html当我们使用Python写代码的时候,可以多用assert断言语句来让代码变得更加鲁棒。但是如果单纯用assert......
  • python读取xlsx文件并转化为 json 数据
    fromopenpyxlimportload_workbookimportosfromreimportfindallimportjson#读取所有的sheet目录defread_xlsx(path="./"):lis=os.listdir(path)......
  • 【全职接单】夏秋初承接小程序搭建与定制、erp进销存系统定制、网络爬虫与浏览器自动
    拥有6年全栈开发经验,熟悉多种编程语言,参与过多个项目并上线运行简介夏秋初承接小程序搭建与定制、erp进销存系统定制、网络爬虫与浏览器自动化、网站网页开发。cnblogs......
  • Python入门系列(九)pip、try except、用户输入、字符串格式
    pip包含模块所需的所有文件。检查是否安装了PIP$pip--version安装包$pipinstallpackage_name使用包importpackage_name删除包$pipuninstallcamelcase......
  • 10个python初学者常犯的错误
    下面10个python初学者常犯的错误,并不是真正的代码错误,代码照样可以运行,但是不够pythonic,因为python有自己的语言哲学,在代码的处理上有传统语言无法比拟的简洁性和便捷性。......
  • 总结90条写Python程序的建议
    首先建议1、理解Pythonic概念—-详见Python中的《Python之禅》建议2、编写Pythonic代码(1)避免不规范代码,比如只用大小写区分变量、使用容易混淆的变量名、害怕过......
  • 掌握 Python 中下划线的 5 个潜规则
    本文将介绍Python中单下划线和双下划线("dunder")的各种含义和命名约定,名称修饰(namemangling)的工作原理,以及它如何影响你自己的Python类。单下划线和双下划线在Python......
  • 40 个好用的 Python 技巧
    Python简单易学,现今非常流行。Python被用于各种场景,如数据科学、机器学习、web开发、脚本编制、自动化等等。目录01列表推导式02枚举函数03通过函数返回多个值04......
  • 10 个实用的 Python 编程技巧
    字典翻转首先我们来看字典的翻转,假设我们有下面类似的一个字典对象与数据car_dict={"brand":"Tesla","model":"ModelY","year":2017}倘若我们......