Scrapy对接Selenium并模拟登陆

由于淘宝增强反爬机制,需登录才能搜索商品,原基于Scrapy和PhantomJS的爬虫失效。现通过更新Selenium(放弃PhantomJS,改用Chrome Headless)并实现淘宝第三方微博登录的Scrapy中间件,解决登录问题。尽管存在登录超时的小问题,但整体改进有效。完整代码可在GitHub找到。
摘要由CSDN通过智能技术生成

最近查看了之前跟着崔庆才老师的《Python3网络爬虫开发实战》写的代码,第13章使用Scrapy对接Selenium中间件去爬取淘宝商品详情的爬虫不能用了,之前文章如下https://cloud.tencent.com/developer/article/1151835

现在的主要问题是:

  1. 淘宝加强了反爬虫机制(登陆验证),即搜索商品需要登录。
  2. 新版selenium对phantomjs不提供支持,有些方法函数的失效。

所以在原来代码的基础上进行了改进,加入了淘宝登陆(从微博的第三方登录比较简单),并且将之前用的浏览器phantomjs变成了chrome headless。主要修改的代码如下:

# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.chrome.options import Options
from scrapy.http import HtmlResponse
from logging import 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值