模拟登陆问题
来源:4-8 . cnblogs模拟登录(新增内容)
宝慕林4168432
2021-10-02
Booby老师,请问设置模拟登陆之后,进行debug操作总是报错是为什么?
写回答
2回答
-
bobby
2021-10-08
from urllib import parse import re import json import scrapy import undetected_chromedriver from scrapy import Request import requests class JobboleSpider(scrapy.Spider): name = 'jobbole3' allowed_domains = ['news.cnblogs.com'] start_urls = ['http://news.cnblogs.com/'] custom_settings = { "COOKIES_ENABLED": True } def start_requests(self): # 入口可以模拟登录拿到cookie,selenium控制浏览器会被一些网站识别,eg:知乎,拉勾 import undetected_chromedriver.v2 as uc # 后面讲解selenium的时候,会下载chromedriver.exe browser = uc.Chrome() browser.get("https://account.cnblogs.com/signin") # 自动化输入,自动化识别滑动验证码并拖动整个自动化过程都会 input("请回车继续:") cookies = browser.get_cookies() cookie_dict = {} for cookie in cookies: cookie_dict[cookie['name']] = cookie['value'] for url in self.start_urls: # 将cookie交给scrapy,那么后续的请求会沿用之前请求的cookie吗? headers = { 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36' } yield scrapy.Request(url, cookies=cookie_dict, headers=headers, dont_filter=True) def parse(self, response): # 1.获取新闻列表页中的新闻URL,并交给scrapy进行下载后调用相应的解析方法 # 2.获取下一页的URL并交给scrapy进行下载,下载完成后交给parse继续跟进 # url = response.xpath('//*[@id="entry_703324"]/div[2]/h2/a/@href').extract_first("") # url = response.xpath('//div[@id="news_list"]//h2[@class="news_entry"]/a/@href').extract() url = response.css('div#news_list h2 a::attr(href)').extract() pass
这个代码我运行了没有问题,你的chrome版本是多少? 我本地的chrome是最新的版本 94.0.4606.54
082021-11-18 -
bobby
2021-10-03
你把你的cnblog的代码贴一下我看看
052021-10-06
相似问题