scrapy ValueError: invalid hostname: 解决方式scrapy don't verify ssl

爬虫学习-Scrape Center闯关(spa系列1-3) 场景 上次写了ssr系列,它主要依靠服务器渲染代码,并且没有什么困难的地方,主要学习的是request请求中的技巧和html页面元素的定位抓取等爬虫基础技巧。这次记录的是spa系列,这个系列的代码数据都通过Ajax加载,页面动态渲染,主要学习的是通过接口获取json数据并处理以及js的逆向分析,难度提升了一大截,这个系列我的目标是爬取首页每个电影的标题,主题,评分以及电影详情页里面的电影剧情 技术 json数据的处理,js逆向分析 关卡 spa1 电影数据网站,无反爬,数据通过 Ajax 加载,页面动态渲染 阅读详情
  • ValueError: invalid hostname:记录一次Scrapy报错的解决方式
  • 今天用scrapy抓取了一个站点报此错,用百度直接搜索报错关键词,搜出来的结果啥跟啥,虽然国内的互联网大环境不如国外的,但是我希望国内的大型论坛站点搜索的资料有参考作用价值,很多灌水的知识很浪费检索时间,好了感慨就说到这了。
正文看这里
  • 原因分析
  • 首先 你要排除格式写错的原因, 比如单双引号的问题(如果在IDE里面我认为这些不可能会出现)

我用scrapy抓取的一个新的站点,报ValueError: invalid hostname这种错误我之前没怎么碰到过,第一反应就是把spider里面的 allowed_domains = [] 换成 [’*’],但还是不行。

  • 我点开抓取链接,发现chrome提示是一个不安全的链接,我突然就想到是不是SSL证书验证不通过,最后证明还真是。

解决方式

  • 首先在requests里面不验证SSL很简单, 直接加一个参数,如下:
import requests
# 以前12306的SSL证书通过不了验证   现在貌似可以了
res = requests.get("https://www.12306.cn", verify=False) 
  • 那么在scrapy里面该如何去做了? 也是加一些设置参数如下
  • 找到scrapy的配置文件settings.py在里面添加 几行配置文件就可以
# 不验证SSL证书
DOWNLOAD_HANDLERS_BASE = {
    'file': 'scrapy.core.downloader.handlers.file.FileDownloadHandler',
    'http': 'scrapy.core.downloader.handlers.http.HttpDownloadHandler',
    'https': 'scrapy.core.downloader.handlers.http.HttpDownloadHandler',
    's3': 'scrapy.core.downloader.handlers.s3.S3DownloadHandler',
}
DOWNLOAD_HANDLERS = {
    'https': '你的项目名.custom.downloader.handler.https.HttpsDownloaderIgnoreCNError',
}

或者可以在单独的爬虫文件里面 设置
比如我的项目文件叫wgPython,爬虫文件叫 fantastic,就可以去配置文件里面添加
文件路径 wgPython/spiders/fantastic.py

class FantasticSpider(scrapy.Spider):
    name = 'Fantastic'
    allowed_domains = ['*']
    start_urls = ["http://demo.com"]
    custom_settings = {
        #'DOWNLOAD_DELAY': 270,  # 下载延迟 270秒
        # 'LOG_LEVEL': 'DEBUG',  # 打印日志等级
        # 下面两个设置 关闭SSL证书验证
        "DOWNLOAD_HANDLERS_BASE": {
            'file': 'scrapy.core.downloader.handlers.file.FileDownloadHandler',
            'http': 'scrapy.core.downloader.handlers.http.HttpDownloadHandler',
            'https': 'scrapy.core.downloader.handlers.http.HttpDownloadHandler',
            's3': 'scrapy.core.downloader.handlers.s3.S3DownloadHandler',
        },
        "DOWNLOAD_HANDLERS": {
            'https': 'wgPython.custom.downloader.handler.https.HttpsDownloaderIgnoreCNError',
        },
    }

下面是我搜索到结果的链接 https://stackoverflow.com/questions/32950694/disable-ssl-certificate-verification-in-scrapy

【小白学爬虫连载(13)】--Scrapy如何突破反爬虫 欢迎关注【哈希大数据】【小白学爬虫连载(1)】-爬虫框架简介【小白学爬虫连载(2)】--Requests库介绍【小白学爬虫连载(3)】--正则表达式详细介绍【小白学爬虫连载(4)】-如何使用chrome分析目标网站【小白学爬虫连载(5)】--Beautiful Soup库详解【小白学爬虫连载(6)】--Selenium库详解【小白学爬虫连载(7)】--scrapy框架的安装【小白学爬虫连载(8)】... 阅读详情

相关推荐

离线安装vue脚手架,内网安装@vue/cli

公司开发环境使用内网,无法用外网,搭建环境的时候,发现内网系统没有安装vue脚手架,我搜了很多文章,发现他们的方法对我都不适用,然后就自己摸索,最终皇天不负有心人,终于被我安装上了,一下是我内网离线安装vue/cli的方法,希望能帮助到有需要的小伙伴! 因为npm被集成在nodejs中,而安装nodejs只需要把nodejs安装包copy到内网电脑安装就行,比较简单,这里就不多做演示。 在外网电脑上,使用npm install -g xxxx命令下载好我们所需要的各个安装包,比如: npm insta

Liberty_yes的博客 1万+

Scrapy学习笔记-基本库的使用requests

使用get方法成功实现一个GET请求,返回类型是requests .models.Response ,响应体的类型是字符串str,Cookies的类型是RequestsCookieJar 。 给GET请求添加参数 r.text返回类型实际上是str类型,但是它很特殊,是JSON格式的。所以,如果想直接解析返回结果,得到一个字典格式的话,可以直接调用json方法,返回结果是JSON 格式的字...

肥叔菌的博客 9993

【实战指南】OpenClaw Telegram 群聊不响应完整解决方案:从获取群 ID 到关闭隐私模式全流程

将整个从“获取群组 ID → 配置 OpenClaw Telegram 通道 → 关闭隐私模式 → 测试”的全流程都整合进去。

hampeter的博客 3494

Scrapy的shell命令执行后提示ValueError: invalid hostname: ‘http 解决

我是win10环境下,在命令行中输入 scrapy shell ‘网址’ 提示ValueError: invalid hostname: 'https 原因: 在windows环境下,scrapy shell 后的url需要用双引号。 所以,应该修改为 scrapy shell "网址"

weixin_43768963的博客 764

修勾逃生巨人危机v10.9.9修改版:免广告无限内购与GM工具详解

游戏修改技术是通过对原版游戏程序进行代码层面的调整,实现特定功能的增强或限制解除。其核心原理涉及内存修改、资源替换和API拦截等技术手段,能够有效提升用户体验和测试效率。在移动游戏领域,免广告和无限内购是常见的技术实现方向,通过屏蔽广告SDK调用和修改内购验证逻辑,为用户提供更流畅的游戏体验。这类技术特别适合游戏开发者进行功能测试,以及玩家希望完整体验游戏内容而不受商业模式限制的场景。以修勾逃生巨人危机v10.9.9版本为例,该修改版集成了GM工具开启功能,通过特定操作路径即可激活调试面板,实现了广告去除和

weixin_30855099的博客 2626

如何快速下载Gaia DR3星表数据?中国虚拟天文台镜像站保姆级教程

本文提供了一份详细的保姆级教程,指导用户如何通过中国虚拟天文台镜像站高速、稳定地下载Gaia DR3星表数据。文章详细介绍了镜像站的访问地址、数据组织结构,并给出了使用wget、aria2c等工具进行批量下载的实战策略,帮助国内用户避开国际网络延迟,高效获取近20亿颗天体的海量数据。

weixin_29231263的博客 307

scrapy shell 报错 ValueError: invalid hostname: 'xxx'

scrapy shell 报错 ValueError: invalid hostname: 'xxx'

若尘的博客 1789

STM32CubeMX的正交编码器encoder

由于最近干活遇到需要获取正交编码的功能,所以返回来研究一下STM32CubeMX的编码器功能,之前也更新过STM32的定时器功能,但是因为之前搞平衡车的正交编码器没有搞清楚原理,就直接用了脉冲输入功能草草了事,现在也算是为之前的年轻买单了,不过看到现有的Encoder说明都比较简单,所以就当是为开发者做贡献了,我研究清楚之后来一篇博客。

ASWaterbenben的博客 1万+

scrapy异常笔记

ValueError:Missing scheme in request url:h 相关URL必须存放在list中。 启动爬虫没反应 可能是因为name或者start_urls拼写错误(所以最好还是用genspider指令创建爬虫文件) 转载于:https://www.cnblogs.com/Alfred-ou/p/9326969.html...

WWW54111392的博客 234

SAR图像去斑(Despeckling)研究的主流开源数据集

这些数据集专门用于训练监督学习去斑模型,提供了配对的含斑SAR图像和对应的无噪声参考图像(Ground Truth)。这些数据集主要用于目标检测/识别,但包含原始SAR图像,可用于。由于缺乏真实无噪声SAR图像,许多研究采用。

VectorShift的博客 131

数字电视中的 Closed Caption (CC) 字幕标准协议

本文将详细介绍 DVB中的 CC 字幕标准协议,包括数据结构格式、字段定义、字段占用比特数以及字段用途。此外,本文还将举例说明如何从 TS 传输流中解析 CC 字幕信息,并组织打包到电视节目中进行显示。

以实战经验介绍行业知识 670

运行scrapy shell r’http://quotes.toscrape.com‘出现错误ValueError: invalid hostname: 'http

运行scrapy shell r’http://quotes.toscrape.com‘出现错误ValueError: invalid hostname: 'http 如果你也在学习python的scrapy框架时,在windows10下面运行cmd后,在命令行里输入 scrapy shell ‘http://quotes.toscrape.com/page/1‘ 命令时报错    Value...

weixin_38507462的博客 823

Python爬取谷歌学术全攻略:基于Playwright与Asyncio的高效、抗反爬虫实践

同时,文章将详细解析爬虫过程中可能遇到的各种挑战,如IP封锁、验证码、动态内容加载等,并提供切实可行的解决方案。self.logger.info(f"第 {current_page} 页解析完成,共找到 {len(page_results)} 条结果。:谷歌学术的HTML结构并非一成不变,其CSS类名和标签结构可能会发生变化,且不同地区、不同语言的界面可能存在差异,增加了数据解析的难度。self.logger.info(f"开始搜索关键词: '{keyword}',计划爬取 {max_pages} 页")

2201_76125261的博客 1550

python跳过ssl验证_如何禁用Python Scrapy上的SSL验证?

这是简单的PHP脚本$url = 'https://appext20.dos.ny.gov/corp_public/CORPSEARCH.SELECT_ENTITY';$fields = array('p_entity_name' => urlencode('AAA'),'p_name_type' => urlencode('A'),'p_search_type' => urle...

weixin_39782709的博客 1739

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Python2.7 Scrapy爬取https URL报“SSL: CERTIFICATE_VERIFY_FAILED”

用Scrapy在爬取以https开头的地址时报“SSL: CERTIFICATE_VERIFY_FAILED”的错误;错误原因:python2.7的urllib.urlopen https的URL时会验证一次SSL证书,当目标网站使用自签名时就会报错该错误。解决方法:1、引入ssl,在使用urlopen时传入认证内容import ssl# This restores the same behavi...

江南的专栏 3270

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

【原创】python urllib/requests/httplib ValueError: Invalid header name

Python Header Key 中有冒号报错, urllib/requests/httplib ValueError: Invalid header name

张志鹏的博客 3012

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

scrapy- invalid hostname: 'http'

在windows上使用scrapy shell命令时,出现了如题所示的错误,官网已经给出了解释 将单引号改成双引号即可。

吟游诗人——吟唱生命的不朽 439

【已解决】多种方式最新解决Invalid Host header(无效的主机头)服务器域名访问出现的错误

Invalid Host header这个报错在网上有很多文章介绍解决办法,但是很多都没有没有用,这里为兄弟们排下坑,**本文的解决方法已经验证没有问题,兄弟们可放心借鉴.**

编码世界 10万+

【debug】scrapy shell ValueError: invalid hostname: ‘https

run_codemainn execute74, in runtartfetch。

weixin_49820105的博客 231

python打包scrapy项目 ,可移植文件夹

python打包scrapy项目《打包结果是一个可移植的文件夹》 这是打包后的文件结构,打包前只有Fund文件夹+hooks文件夹+scrapy.cfg+start.py 第一步: start.py文件 是打包的入口(项目完成前并没有它,只为打包而生) #coding = utf-8 from scrapy.crawler import CrawlerProcess from scrapy.utils.project import get_project_settings -- coding: utf-8

siletian的博客 1006

[676]WARNING: Remote certificate is not valid for hostname

错误 [scrapy.core.downloader.tls] WARNING: Remote certificate is not valid for hostname 其实这种情况下scrapy已经安装好了 可以使用 只是有部分功能 有影响就是其中提到的 service_identity模块。其实这个模块是已经安装了的。但是为什么还会报错呢。耗费了我两个小时 各种发帖 搜索。终于在一位大神...

周小董 3171

python 指定证书验证_python – 在Scrapy中禁用SSL证书验证

我目前正在努力解决与Scrapy有关的问题.每当我使用Scrapy刮取证书的CN值与服务器域名匹配的HTTPS站点时,Scrapy效果很好!另一方面,每当我尝试抓取证书的CN值与服务器的域名不匹配的网站时,我会得到以下内容:Traceback (most recent call last):File "/usr/local/lib/python2.7/dist-packages/twisted/p...

weixin_39531374的博客 1756

解决nginx配置负载均衡时invalid host in upstream报错

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34238642的博客 1305

Scrapy的shell命令执行后提示ValueError: invalid hostname: 'http

转载请注明作者(独孤尚良dugushangliang)出处:https://blog.youkuaiyun.com/dugushangliang/article/details/94585829 如图所示,执行scrapy的shell命令: 执行结束后的情况为: 答案为: 所以要这样: 还没看明白?在windows系统上,scrapy shell 后的url需要用双引号。 ...

dugushangliang的博客 2128

用scrapy框架时,出现问题:ValueError: invalid literal for int() with base 10: 'dev0'

在用python爬虫框架scrapy的时候,出现ValueError: invalid literal for int() with base 10: 'dev0'这个问题,纠结了好久,原来是在装依赖包的时候有问题,后来将pyOpenSSL这个依赖包换了一个版本重新安装后,问题顺利解决。

天道酬勤 5907
上一篇: Python3 安装遇到的各种问题
下一篇: vue异步请求数据渲染页面,引入方式使用,新手Vue体验
wgPython
博客等级 码龄9年 100粉丝 69原创
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值