整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

js代码写一段web爬虫代码,读取当前页面的链接,json输出

手头有个项目,其中有个功能是爬取一个指定页面的所有链接地址,返回一个lists。我现在分享出来。

var tag = document.querySelectorAll("a");
var myarray = []
for (var i = 0; i < tag.length; i++) {
    var nametext = tag[i].textContent;
    var cleantext = nametext.replace(/\s+/g, ' ').trim();
    var cleanlink = tag[i].href;
    myarray.push([cleantext, cleanlink]);
};
function generateJson() {
    var hrefArray = [];
    for (var i = 0; i < myarray.length; i++) {
        let t = {}
        t.n = myarray[i][0]; t.m = myarray[i][1];
        hrefArray.push(t);
    };
    var win = window.open("Json");
    win.document.write(JSON.stringify(hrefArray));
}
generateJson()

测试步骤:

  1. 打开谷歌浏览器,地址栏输入网址的地址,打开要爬取的页面。
  2. 打开控制台。
  3. 复制粘贴上面的代码,json格式的数据将输出到当前页面。

屏幕截图

怎么运行

输出结果

大家看完这篇文章有什么想法, 评论区多多交流!

在越来越多的应用和互联网产品做内容的聚合,像、等等,太多的聚合应用以及不胜枚举,甚至浏览器也可以嵌入聚合的应用。

互联网上拥有太多太多的数据,抓取网页的数据做数据挖掘也是最廉价的获取数据的途径,解析数据是得到规则数据的方法,他为后面数据挖掘、机器学习模型的学习提供支持。

在获取互联网数据的过程中,不可避免的就要使用到网页爬虫技术,此外在抓取下来的网页,需要进一步的解析出自己想要的内容。正则表达式是最常用的解析工具,针对网页目前有个非常便捷的框架,叫做BeautifulSoup。本文使用的是BeautifulSoup 3,现在已经有BeautifulSoup4了,名字改为bs4

(1)下载与安装

# BeautifulSoup 的下载与安装

pip install BeautifulSoup

另外也可以下载安装包进行安装

(2)快速开始

# BeautifulSoup 快速开始

html_doc = urllib2.urlopen('http://baike.baidu.com/view/1059363.htm')

soup = BeautifulSoup(html_doc)

print soup.title

结果:

# BeautifulSoup 结果

<title>前门大街_百度百科</title>

(3)BeautifulSoup对象介绍

BeautifulSoup中主要包含三种类型的对象:

BeautifulSoup.BeautifulSoup

BeautifulSoup.Tag

BeautifulSoup.NavigableString

通过下面例子来认识上面的三种数据类型:

# BeautifulSoup 示例

from BeautifulSoup import BeautifulSoup

import urllib2

html_doc = urllib2.urlopen('http://www.baidu.com')

soup = BeautifulSoup(html_doc)

print type(soup)

print type(soup.title)

print type(soup.title.string)

print soup.title

print soup.title.string

结果为

# BeautifulSoup 示例结果

<class 'BeautifulSoup.BeautifulSoup'>

<class 'BeautifulSoup.Tag'>

<class 'BeautifulSoup.NavigableString'>

<title>百度一下,你就知道</title>

百度一下,你就知道

print soup.title

print soup.title.string

从上面的例子可以比较清晰的看到BeautifulSoup主要包括三种类型的对象。

BeautifulSoup.BeautifulSoup //BeautifulSoup对象

BeautifulSoup.Tag //标签对象

BeautifulSoup.NavigableString //导航string文本对象

(4)BeautifulSoup剖析树

1. BeautifulSoup.Tag对象方法

获取标记对象,通过点号获取Tag对象

# BeautifulSoup 示例

title = soup.title

print type(title.contents)

print title.contents

print title.contents[0]

# BeautifulSoup 示例结果

<type 'list'>

[u'\u767e\u5ea6\u4e00\u4e0b\uff0c\u4f60\u5c31\u77e5\u9053']

百度一下,你就知道

contents方法

获得当前标签的内容list,如果该标签没有子标签,那么string方法和contents[0]得到的内容是一样的。见上面示例

next,parent方法

获得当前的标签的子标签和父标签

# BeautifulSoup 示例

html = soup.html

print html.next

print ''

print html.next.next

print html.next.next.nextSibling

# BeautifulSoup 示例结果

<head><meta http-equiv="content-type" content="text/html;charset=utf-8" /><meta http-equiv="X-UA-Compatible"content="IE=Edge" /><meta content="always" name="referrer" /><meta name="theme-color" content="#2932e1" /><link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" /><link rel="icon" sizes="any" mask="mask" href="//www.baidu.com/img/baidu.svg" /><link rel="dns-prefetch" href="//s1.bdstatic.com" /><link rel="dns-prefetch" href="//t1.baidu.com" /><link rel="dns-prefetch" href="//t2.baidu.com" /><link rel="dns-prefetch" href="//t3.baidu.com" /><link rel="dns-prefetch" href="//t10.baidu.com" /><link rel="dns-prefetch" href="//t11.baidu.com" /><link rel="dns-prefetch" href="//t12.baidu.com" /><link rel="dns-prefetch" href="//b1.bdstatic.com" /><title>百度一下,你就知道</title>

......

</head>

<meta http-equiv="content-type" content="text/html;charset=utf-8" />

<meta http-equiv="X-UA-Compatible" content="IE=Edge" />

nextSibling,previousSibling

获得当前标签的下一个兄弟标签和前一个兄弟标签

对不同的网页,将你需要的标签中的数据,例如评论、阅读量、购买量、价格、数量等等,通过BS解析获得。解析是数据获取整理过程中不可少的一部分。

进一步的,借助机器学习模型对上述数据进行建模分析,得到一定的结论。

机器学习第四发:机器学习基础

机器学习第三发:入门书籍及网络课程

机器学习第二发:支持向量机

机器学习第一发:逻辑回归

欲善其事必先利其器,好的工具能够提高工作效率。现在网上有很多实用的小工具,可以帮助你解决工作中的小问题。下面就一一分享给大家。

1、汉字拼音在线转换

(https://www.qqxiuzi.cn/zh/pinyin/)

网站支持文字转成拼音大小写,首字母大写、句首大写、标注声调等等。对于不熟悉拼音,常用五笔来打字的人来说,转换出正确的拼音很让人头痛,这个在线网站帮你解决。也能解决普通话不标准的一些家长的困惑,在辅导孩子写语文作业的时候,不知道拼音怎么标注声调。

2、在线英文字母大小写转换

(https://www.iamwawa.cn/daxiaoxie.html)

网站支持字母全大写、全小写、首字母大写、首字母大写、空格转下划线等等,都是很实用的编辑功能,网站还有很多实用的功能,需要的可以自行解锁。

3、二维码图片转矢量

(http://www.zhangqu.org/?page_id=359)

做设计的时候会遇到把二维码转换成矢量的时候,如果用PS或者AI转出来的都不是很好,对于原始文件像素不高的很难解决,这个网站转换出来的就很好,可以直接使用。但是面对特殊的圆形二维码或者其他的识别度都行,网站只能转出方形的二维码。

4、在线书法字转换

(http://www.ziticq.com/Shufa)

这是一个很好的在线书法字转换网站,你可以选择你喜欢的字进行组合。网站提供158,592 幅书法作品中出现的字,可以存svg, png, pdf格式的文件,适用Ai、Ps等软件。

5、人民币大写在线转换

(https://www.917118.com/tool/rmb.html)

这个网站主要是人民币大写的转换、计算机颜色在线查询工具,我主要用在财务报销的时候,填写报销单需要用到人民币的大写。

6、在线修改照片

(https://www.gaitubao.com/)

网站可以在线修改图片像素及尺寸、裁剪、压缩文件大小,对于一些从事文案工作的人来说是个好帮手,可以解决一些问题,不用打开专业的软件去操作,效率低。

这次就分享这些实用的工具网站给大家,欢迎在评论区留言分享你的实用工具,点赞和评论是对我最大的鼓励支持,谢谢大家。