采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
Booby老师,请问设置模拟登陆之后,进行debug操作总是报错是为什么?
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
我刚自动更新过,是94.0.4606.81,更新之后我又运行了一遍程序,还是不行,有没有可能是因为我是从境外访问网页地址的原因?
你是境外访问的?你可以留个qq 我加你看看
好的,872123991
你把你的cnblog的代码贴一下我看看
好的,已经贴了,老师你看一下
这个代码我无法复制下来。你贴代码把
from urllib import parse import re import json import scrapy import undetected_chromedriver from scrapy import Request import requests class JobboleSpider(scrapy.Spider): name = 'jobbole' allowed_domains = ['news.cnblogs.com'] start_urls = ['http://news.cnblogs.com/'] custom_settings = { "COOKIES_ENABLED": True }
登录后可查看更多问答,登录/注册
带你彻底掌握Scrapy,用Django+Elasticsearch搭建搜索引擎
4.7k 30
2.5k 18
1.1k 18
1.3k 15
2.7k 15