首页 > 其他分享 >Scrapy框架爬取HTTP/2网站

Scrapy框架爬取HTTP/2网站

时间:2023-07-17 11:56:00浏览次数:31  
标签:H2DownloadHandler HTTP scrapy Twisted 爬取 Scrapy http2

scrapy本身是自带支持HTTP2的爬取:

https://docs.scrapy.org/en/latest/topics/settings.html?highlight=H2DownloadHandler#download-handlers-base

需要把这个包安装一下

# 本身scrapy就是基于Twisted的,http2是一个拓展包
Twisted[http2] >=17.9.0

然后在settings.py中打开下载处理器

DOWNLOAD_HANDLERS = {
    "https": "scrapy.core.downloader.handlers.http2.H2DownloadHandler",
}

另外可以使用其他支持HTTP2的模块来利用中间件加载并返回数据,如:httpx,curl_ciff

标签:H2DownloadHandler,HTTP,scrapy,Twisted,爬取,Scrapy,http2
From: https://www.cnblogs.com/juelian/p/17559686.html

相关文章

  • Scrapyd、scrapyd-client部署爬虫项目
    命令参考:https://github.com/scrapy/scrapyd-clienthttps://scrapyd.readthedocs.io安装组件pipinstallscrapydpipinstallscrapyd-clientScrapyd服务器端服务器端是可以有多个的,你爱多少个就搞多少个服务器端。部署scrapy时,可以手动指定部署到那个目标服务器端中。scr......
  • Selenium接管已经打开的浏览器并爬取数据
    """P.S:需要接管现有浏览器**使用步骤:1、打开浏览器,设置好远程调试端口,并扫描登录淘宝。chrome.exe--remote-debugging-port=9333--user-data-dir="G:\spider_taobao"**2、运行程序,自动采集数据"""defmain():......
  • Scrapy框架架构
    ENGINE:引擎,负责各个组件的管理。SPIDERS:各个爬虫文件类。(我们一般要写的代码就是这个)。SCHEDULER:调度器,ENGINE将爬虫任务分发给该组件,由该组件调度爬虫任务。DOWNLOADER:下载器,用于接收SCHEDULER的任务,并向指定的URL发起请求然后返回响应数据给SPIDERS组件,交给SPIDER组件进一......
  • Scrapy创建项目、爬虫文件
    创建项目执行命令scrapystartproject<项目名>项目结构创建爬虫文件方式一:通过命令生成scrpaygenspider<爬虫名(必须唯一)><domain><爬虫名>:必须时唯一的<domain>:这个随意填,因为后期会修改爬虫文件中的start_url属性。方式二:在项目的spider包下,自己编写一......
  • Scrapy爬虫文件代码基本认识和细节解释
    importscrapyfromscrapy.http.requestimportRequestfromscrapy.http.response.htmlimportHtmlResponsefromscrapy_demo.itemsimportForumItemclassBaiduSpider(scrapy.Spider):#name必须是唯一的,因为运行一个爬虫是通过name来选择的。#你需要运行命......
  • [案例]豆瓣电影信息爬取
    importjsonimportosimportrequestsfromlxmlimportetreefromlxml.etreeimport_ElementclassDoubanMovieSpider(object):def__init__(self):self.url="https://movie.douban.com/chart"self.headers={&qu......
  • [案例]贴吧爬取并获取图片
    importosimportrandomimportreimportsysimporttimeimporturllib.parseimportrequestsfromlxmlimportetreefromlxml.etreeimport_ElementclassTiebaSpider(object):BASE_DIR=os.path.dirname(__file__)def__init__(self,url,name):......
  • go中http设置忽略证书
    在Go中,可以通过设置http.Client的Transport属性来忽略证书验证。默认情况下,http.DefaultClient使用的是http.DefaultTransport,它对证书进行了验证。但是你可以创建一个自定义的Transport并将其用作客户端的Transport,以忽略证书验证。packagemainimport( "crypto/......
  • js:http-vue-loader从浏览器直接引入vue文件
    docgithub:https://github.com/FranckFreiburger/http-vue-loaderindex.html<!doctypehtml><htmllang="en"><head><scriptsrc="https://cdn.bootcdn.net/ajax/libs/vue/2.6.14/vue.min.js"></script><s......
  • iframe嵌套的https服务,权限开放设置
    1、场景:chatGPT开发语音功能,部署服务需要https协议,有个独立的门户需要将服务以iframe嵌入到系统中2、问题:chatGPT语音服务无法弹出授权开启麦克的提示3、原因:iframe默认是关闭了相关权限4、处理:参考说明<iframe>标签的sandbox属性是一个布尔属性,当存在时表......