page-fetch 使用教程
page-fetchFetch web pages using headless Chrome, storing all fetched resources including JavaScript files. Run arbitrary JavaScript on many web pages and see the returned values项目地址:https://gitcode.com/gh_mirrors/pa/page-fetch
项目介绍
page-fetch
是一个由 Detectify 开发的开源工具,主要用于研究人员进行网页抓取。它使用无头 Chrome 浏览器来获取网页,并存储所有获取的资源,包括 JavaScript 文件。此外,它还允许用户在多个网页上运行任意 JavaScript 代码,并查看返回值。
项目快速启动
安装
你可以通过以下命令安装 page-fetch
:
go install github.com/detectify/page-fetch@latest
或者手动克隆仓库并构建:
git clone https://github.com/detectify/page-fetch.git
cd page-fetch
go install
基本使用
page-fetch
接受一个 URL 列表作为输入,可以通过标准输入提供:
page-fetch < urls.txt
或者使用其他命令的输出:
grep admin urls.txt | page-fetch
运行 JavaScript
你可以在每个页面上运行任意 JavaScript 代码,例如提取所有链接的 href
属性:
echo https://example.com | page-fetch --javascript 'Array.from(document.querySelectorAll("a")).map(a => a.href)'
应用案例和最佳实践
案例1:抓取网页并保存特定内容类型
如果你只想保存特定内容类型的资源,可以使用 --include
选项:
page-fetch --include text/html < urls.txt
案例2:运行自定义 JavaScript 提取数据
你可以运行自定义 JavaScript 来提取网页上的特定数据,例如提取所有图片的 URL:
echo https://example.com | page-fetch --javascript 'Array.from(document.images).map(img => img.src)'
典型生态项目
page-fetch
作为一个网页抓取工具,可以与以下类型的项目结合使用:
- 数据分析工具:如 Pandas、NumPy 等,用于处理和分析抓取的数据。
- 自动化测试框架:如 Selenium、Puppeteer 等,用于自动化测试和网页交互。
- 爬虫框架:如 Scrapy、BeautifulSoup 等,用于更复杂的网页抓取任务。
通过结合这些生态项目,page-fetch
可以扩展其功能,满足更广泛的研究和开发需求。
page-fetchFetch web pages using headless Chrome, storing all fetched resources including JavaScript files. Run arbitrary JavaScript on many web pages and see the returned values项目地址:https://gitcode.com/gh_mirrors/pa/page-fetch