検索
ホームページウェブフロントエンドjsチュートリアルphantomjs_javascript スキルを使用した Web スクレイピングの実装コード

phantomjs は js を実行できるヘッドレス ブラウザであるため、dom ノードも実行でき、Web クローリングに最適です。

たとえば、Web ページ上の「Today in History」のコンテンツをバッチ クロールしたいとします。ウェブサイト

dom 構造を観察すると、.list li a の title 値を取得するだけで済みます。そこで、高度なセレクターを使用して DOM フラグメントを構築します

var d= ''
var c = document.querySelectorAll('.list li a')
var l = c.length;
for(var i =0;i<l;i++){
d=d+c[i].title+'\n'
}

その後は、js コードを phantomjs で実行するだけです~

var page = require('webpage').create();
	page.open('http://www.todayonhistory.com/', function (status) { //打开页面
		if (status !== 'success') {
			console.log('FAIL to load the address');
		} else {
			console.log(page.evaluate(function () {
					var d= ''
					var c = document.querySelectorAll('.list li a')
					var l = c.length;
					for(var i =0;i<l;i++){
					d=d+c[i].title+'\n'
					}
						return d
				}))

		}
		phantom.exit();
	});

最後に、catch.js として保存し、dos で実行し、内容を txt ファイルに出力します (phantomjs のファイル API を使用して書き込むこともできます)

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
在Scrapy爬虫中使用Selenium和PhantomJS在Scrapy爬虫中使用Selenium和PhantomJSJun 22, 2023 pm 06:03 PM

在Scrapy爬虫中使用Selenium和PhantomJSScrapy是Python下的一个优秀的网络爬虫框架,已经被广泛应用于各个领域中的数据采集和处理。在爬虫的实现中,有时候需要模拟浏览器操作去获取某些网站呈现的内容,这时候就需要用到Selenium和PhantomJS。Selenium是模拟人类对浏览器的操作,让我们可以自动化地进行Web应用程序测试

如何使用Go语言中的并发函数实现多个网页的并行抓取?如何使用Go语言中的并发函数实现多个网页的并行抓取?Jul 29, 2023 pm 07:13 PM

如何使用Go语言中的并发函数实现多个网页的并行抓取?在现代Web开发中,经常需要从多个网页中抓取数据。一般的做法是逐个发起网络请求并等待响应,这样效率较低。而Go语言提供了强大的并发功能,可以通过并行抓取多个网页来提高效率。本文将介绍如何使用Go语言的并发函数实现多个网页的并行抓取,以及一些注意事项。首先,我们需要使用Go语言内置的go关键字创建并发任务。通

PHP中如何使用PhantomJS进行无界面测试PHP中如何使用PhantomJS进行无界面测试Jun 27, 2023 am 09:27 AM

在现代Web开发的环境下,无界面测试是不可或缺的一个步骤,因为它可以模拟用户操作并且验证UI的正确性。PhantomJS是一个流行的工具,用于在无界面环境下进行自动化测试。本文将介绍如何使用PHP中的PhantomJS进行无界面测试。一、安装PhantomJS首先,需要在机器上安装PhantomJS,可以从官网下载并进行安装。以下是Linux下的安装步骤:下

PHP如何进行网页抓取和数据爬取?PHP如何进行网页抓取和数据爬取?Jun 29, 2023 am 08:42 AM

PHP是一种服务器端脚本语言,广泛应用于网站开发和数据处理等领域。其中,网页抓取和数据爬取是PHP的一个重要应用场景之一。本文将介绍PHP如何进行网页抓取和数据爬取的基本原理和常用方法。一、网页抓取和数据爬取的原理网页抓取和数据爬取指的是通过程序自动访问网页,并从中获取所需的信息。其基本原理是通过HTTP协议获取目标网页的HTML源码,然后通过解析HTML源

在Python中的网页抓取和数据提取技术在Python中的网页抓取和数据提取技术Sep 16, 2023 pm 02:37 PM

Python已成为各种应用程序的首选编程语言,其多功能性延伸到了网络抓取领域。凭借其丰富的库和框架生态系统,Python提供了一个强大的工具包,用于从网站提取数据并释放有价值的见解。无论您是数据爱好者、研究人员还是行业专业人士,Python中的网络抓取都可以成为利用大量在线信息的宝贵技能。在本教程中,我们将深入研究网络抓取领域,并探索Python中可用于从网站提取数据的各种技术和工具。我们将揭示网络抓取的基础知识,了解围绕这种做法的合法性和道德考虑,并深入研究数据提取的实际方面。在本文的下一部分

学习如何使用win10批量下载网页中的图片学习如何使用win10批量下载网页中的图片Jan 03, 2024 pm 02:04 PM

在使用win10下载图片视频的时候,单个的下载对于需要大批量下载图片的用户来说就很不方便了。那么win10怎么才能批量下载网页中图片。现在让小编来告诉你。希望可以帮助到你。win10怎么批量下载网页中图片1、首先要在电脑上安装迅雷,2、打开电脑,打开自带的Edge浏览器。在输入框输入查找的关键词,然后百度一下3、点击,如下图所示,4、在新界面,点击右上角的三个小点的图标,然后选择,IE是电脑本身就带有的,无需安装,5、在跳转到的IE界面,鼠标右键单击日益空白处,选择6、在迅雷下载界面,在顶部点击

Java中怎么用PhantomJs完成html图片输出功能Java中怎么用PhantomJs完成html图片输出功能May 12, 2023 am 08:55 AM

I.背景如何在小程序里面生成一张图,分享到朋友圈呢?目前前端貌似没有太好的解决方法,所以只能猥琐的由后端来支持掉,那么可以怎么玩?生成图片比较简单简单的场景,可以直接用jdk来支持掉,一般来讲也没有太复杂的逻辑之前写过一个图片合成的逻辑,利用awt实现:图片合成通用、复杂的模板简单的可以直接支持,但复杂一点的,让后端来支持,无疑比较恶心,在github上也搜索了一些渲染html的开源库,不知道是姿势不对还是咋的,没有太满意的结果现在对复杂的模板,要怎么支持呢?也就是本篇的指南,利用phantom

如何使用Java中的PhantomJS实现HTML页面截图功能?如何使用Java中的PhantomJS实现HTML页面截图功能?Apr 24, 2023 am 11:37 AM

I.背景如何在小程序里面生成一张图,分享到朋友圈呢?目前前端貌似没有太好的解决方法,所以只能猥琐的由后端来支持掉,那么可以怎么玩?生成图片比较简单简单的场景,可以直接用jdk来支持掉,一般来讲也没有太复杂的逻辑之前写过一个图片合成的逻辑,利用awt实现:图片合成通用、复杂的模板简单的可以直接支持,但复杂一点的,让后端来支持,无疑比较恶心,在github上也搜索了一些渲染html的开源库,不知道是姿势不对还是咋的,没有太满意的结果现在对复杂的模板,要怎么支持呢?也就是本篇的指南,利用phantom

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境