JavaScript--模拟网络爬虫
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
<script>
function getUrls(){
var reg=
/<a\s+[^>]*?href=['"]([^'"]+?)['"][^>]*?>/g;
var arr=null;//声明变量arr,初始化为null
//获取body元素的内容,保存在变量html中
var html=document.body.innerHTML;
//反复查找html中符合reg规则的字符串,保存在arr中,如果arr不等于null,就继续找
while((arr=reg.exec(html))!=null){
//arr: ["<a ....>","http://..."]
//输出本次找到的a元素
console.log(arr[1]);
//RegExp.$1 取出本次匹配的第一个分组的子内容
}
}
</script>
</head>
<body>
<link href="index.css"/><body><a class="header" href="http://tedu.cn">go to tedu</a><h1>welcome</h1><a name="top"></a><div>Hello World</div><a href="http://tmooc.cn" target="_blank">go to tmooc</a></body>
<button onclick="getUrls()">开始爬虫</button>
</body>
</html>
JavaScript--模拟网络爬虫的更多相关文章
- Python即时网络爬虫项目启动说明
作为酷爱编程的老程序员,实在按耐不下这个冲动,Python真的是太火了,不断撩拨我的心. 我是对Python存有戒备之心的,想当年我基于Drupal做的系统,使用php语言,当语言升级了,推翻了老版本 ...
- SOCKET简单爬虫实现代码和使用方法
抓取一个网页内容非常容易,常见的方式有curl.file_get_contents.socket以及文件操作函数file.fopen等. 下面使用SOCKET下的fsockopen()函数访问Web服 ...
- Facebook 爬虫
title: Facebook 爬虫 tags: [python3, facebook, scrapy, splash, 爬虫] date: 2018-06-02 09:42:06 categorie ...
- ASP.NET Core + Angular 2 Template for Visual Studio
多个月以来,我和多个Github上的社区贡献者一起建立支持库.包,我们最终的目的是希望完成这样一个作为起点的模板,也就是基于把Typescript代码和Angular2宿主在ASP.NET Core项 ...
- ThoughtWorks 2017技术雷达
前言: ThoughtWorks人酷爱技术.我们对技术进行构建.研究. 测试.开源.记述,并始终致力于对其进行改进-以求造福 大众.我们的使命是支持卓越软件并掀起IT革命.我们创建 并分享Though ...
- Rendertron:谷歌 Chrome 新的 headless 模式又贡献了一个新的技巧
摘自:https://zhuanlan.zhihu.com/p/31670033 Rendertron:JavaScript Web 富应用的一个老问题是如何使这些页面的动态渲染部分可供搜索引擎检索. ...
- [19/04/14-星期日] 网络编程_java.net包(InetAddress类、InetSocketAddress类、URL类)
一.概念 Java为了可移植性,不允许直接调用操作系统,而是由java.net包来提供网络功能.Java虚拟机负责提供与操作系统的实际连接. InetAddress 作用:封装计算机的IP地址和 ...
- NET Core + Angular 2
ASP.NET Core + Angular 2 Template for Visual Studio 2017-01-11 08:45 by 小白哥哥, 2069 阅读, 19 评论, 收藏, 编辑 ...
- 【charlse】charlse功能
(一)主界面介绍 一.工具导航栏 Charles 顶部为菜单导航栏,菜单导航栏下面为工具导航栏.视图如下图所示: 工具导航栏中提供了几种常用工具: :清除捕获到的所有请求 :红点状态说明正在捕获请 ...
- Charles基本功能
Windows: 运行安装应用程序以在程序菜单中安装 Charles. Mac OS X: 通过双击解压缩下载文件,然后将 Charles 应用程序复制到 Applications 目录中. Linu ...
随机推荐
- 几个国外FMX网站 good
FireMonkey X – Amazing overview of FireMonkey FMX Feeds – All your FireMonkey news in one place FMX ...
- android-wear开发之定义布局
Android Wear使用跟手机一样的布局技术,但需要对特定情况进行设计.不要把手机的UI直接照搬过来.更多可查看:Android Wear Design Guidelines 当创建android ...
- 「Poetize5」水叮当的舞步
Description 水叮当得到了一块五颜六色的格子形地毯作为生日礼物,更加特别的是,地毯上格子的颜色还能随着踩踏而改变. 为了讨好她的偶像虹猫,水叮当决定在地毯上跳一支轻盈的舞来卖萌~~~ 地毯上 ...
- getElementById返回的是什么?串讲HTML DOM
1. getElementById()返回的是什么? 这个函数使用的最普遍,但是你有没有深入探究下,这个函数究竟返回的是什么么?我们来一起看看. var mydivEle = document.get ...
- Eclipse的快捷键及常用设置
本篇文章转自:http://blog.csdn.net/idsunb/article/details/6604451 1.提示键配置一般默认情况下,Eclipse ,MyEclipse 的代码提示功能 ...
- Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python
Selenium终极自动化测试环境搭建(二)Selenium+Eclipse+Python 前面举例了Selenium+Eclipse+Junit+TestNG自动化测试环境的搭建,在前一篇的基础上, ...
- UIActionSheet底部弹出框
<底部弹出框来提示用户信息> 1.遵循代理方法<UIActionSheetDelete> 2.调用放法 [UIActionSheet *sheet=[UIActio ...
- Java里的IO流里的 ObjectInputStream 的读取\写入!
各位好!!我又来了!!今天遇见了一个小问题!! IO流里的对象读取总是出错!各种报错!!神烦啊!!百思不得其解啊!然后就上网百度!找了好久终于让我找到了!下面就让我来说一说! 当你用IO流里的对象流写 ...
- 命令行修复MBR分区
命令行修复MBR 1.shift+F10打开命令行 2.输入:diskpart 3.输入:list disk 查看磁盘信息 4.选择你要操作的磁盘:select disk 0 5.输入:clean,清 ...
- OpenCV LDA(Linnear Discriminant analysis)类的使用---OpenCV LDA演示样例
1.OpenCV中LDA类的声明 //contrib.hpp class CV_EXPORTS LDA { public: // Initializes a LDA with num_componen ...