BlackHat USA 2020 资料爬虫最佳姿势与打包下载

2023-10-08 00:08

本文主要是介绍BlackHat USA 2020 资料爬虫最佳姿势与打包下载,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

现在BlackHat官网的ppt下载真是麻烦,不再像以前放在一页里面直接显示,而是在议题列表里面,一个个点进去翻看才能下载。

这种事真要一个个去下载,近百个议题,你得下到手软。

不搞个爬虫去自动化下载,都对不起攻城师的头衔。

原本是想用scrapy写个python脚本去批量下载,后来决定用更加高效的方法:使用Web Scraper这个Chrome插件,通过点鼠标就可解决,无需编写代码。可直接在浏览器里面模拟网页浏览与操作,可以有效绕过一些反爬虫机制。

通过Chrome商店安装好Web Scraper后,在其“开发者工具”里面可以看到:

点击“Create new sitemap”,设置下任务的名称,以及爬虫的起始页,这里就取BlackHat的议题列表地址:

创建后点击“Add new selector":

设置id,Type为“Link",为的是获取二级页面的链接地址,选择”Select”,然后在页面中去选择链接的位置,它会实时显示出红框,帮助你识别。

注意:这里必须勾选“Multiple”,否则无法选上所有议题链接:

点击创建的“session”进入议题详情页面,即二级页面:

接下来就要获取PDF下载地址了,这里包括slide和paper两个下载地址(不一定都有提供,但全选上不影响),然后继续按前面的操作去添加selector(下载链接的页面元素)。此处“Type”选“Link”而不是“Element click”去模拟点击下载,是因为chrome里面点击pdf链接会直接打开,所以获取链接地址再用命令行去下载:

这里“Parent Selectors”就是父页面中我们设置的对应id,层级关系相当于爬虫进入下一页再找目标元素一样,用它我们也可以实现翻页效果(翻页经常在get参数中设置,所以有时可以直接在起始URL中设置页参数范围,比如http://test.com/abc?page=[0-100]),保持默认就可以了。

最后点击“Sitemap blackhat” =》"Scrape” =》“Start scraping”开始爬虫:

再将爬虫结果导出csv,用命令行批量下载就可以了。

BlackHat资料打包下载地址(点击”阅读原文”):

https://github.com/riusksk/SecConArchive/tree/master/BlackHat/BlackHat_USA_2020

这篇关于BlackHat USA 2020 资料爬虫最佳姿势与打包下载的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/161344

相关文章

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

Java下载文件中文文件名乱码的解决方案(文件名包含很多%)

《Java下载文件中文文件名乱码的解决方案(文件名包含很多%)》Java下载文件时,文件名中文乱码问题通常是由于编码不正确导致的,使用`URLEncoder.encode(filepath,UTF-8... 目录Java下载文件中文文件名乱码问题一般情况下,大家都是这样为了解决这个问题最终解决总结Java下

配置springboot项目动静分离打包分离lib方式

《配置springboot项目动静分离打包分离lib方式》本文介绍了如何将SpringBoot工程中的静态资源和配置文件分离出来,以减少jar包大小,方便修改配置文件,通过在jar包同级目录创建co... 目录前言1、分离配置文件原理2、pom文件配置3、使用package命令打包4、总结前言默认情况下,

Python实现文件下载、Cookie以及重定向的方法代码

《Python实现文件下载、Cookie以及重定向的方法代码》本文主要介绍了如何使用Python的requests模块进行网络请求操作,涵盖了从文件下载、Cookie处理到重定向与历史请求等多个方面,... 目录前言一、下载网络文件(一)基本步骤(二)分段下载大文件(三)常见问题二、requests模块处理

SpringBoot项目中Maven剔除无用Jar引用的最佳实践

《SpringBoot项目中Maven剔除无用Jar引用的最佳实践》在SpringBoot项目开发中,Maven是最常用的构建工具之一,通过Maven,我们可以轻松地管理项目所需的依赖,而,... 目录1、引言2、Maven 依赖管理的基础概念2.1 什么是 Maven 依赖2.2 Maven 的依赖传递机

Java内存泄漏问题的排查、优化与最佳实践

《Java内存泄漏问题的排查、优化与最佳实践》在Java开发中,内存泄漏是一个常见且令人头疼的问题,内存泄漏指的是程序在运行过程中,已经不再使用的对象没有被及时释放,从而导致内存占用不断增加,最终... 目录引言1. 什么是内存泄漏?常见的内存泄漏情况2. 如何排查 Java 中的内存泄漏?2.1 使用 J

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar

Python pyinstaller实现图形化打包工具

《Pythonpyinstaller实现图形化打包工具》:本文主要介绍一个使用PythonPYQT5制作的关于pyinstaller打包工具,代替传统的cmd黑窗口模式打包页面,实现更快捷方便的... 目录1.简介2.运行效果3.相关源码1.简介一个使用python PYQT5制作的关于pyinstall

javafx 如何将项目打包为 Windows 的可执行文件exe

《javafx如何将项目打包为Windows的可执行文件exe》文章介绍了三种将JavaFX项目打包为.exe文件的方法:方法1使用jpackage(适用于JDK14及以上版本),方法2使用La... 目录方法 1:使用 jpackage(适用于 JDK 14 及更高版本)方法 2:使用 Launch4j(

常用的jdk下载地址

jdk下载地址 安装方式可以看之前的博客: mac安装jdk oracle 版本:https://www.oracle.com/java/technologies/downloads/ Eclipse Temurin版本:https://adoptium.net/zh-CN/temurin/releases/ 阿里版本: github:https://github.com/