手頭有個項目,其中有個功能是爬取一個指定頁面的所有鏈接地址,返回一個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()
測試步驟:
屏幕截圖
大家看完這篇文章有什么想法, 評論區多多交流!
在越來越多的應用和互聯網產品做內容的聚合,像、等等,太多的聚合應用以及不勝枚舉,甚至瀏覽器也可以嵌入聚合的應用。
互聯網上擁有太多太多的數據,抓取網頁的數據做數據挖掘也是最廉價的獲取數據的途徑,解析數據是得到規則數據的方法,他為后面數據挖掘、機器學習模型的學習提供支持。
在獲取互聯網數據的過程中,不可避免的就要使用到網頁爬蟲技術,此外在抓取下來的網頁,需要進一步的解析出自己想要的內容。正則表達式是最常用的解析工具,針對網頁目前有個非常便捷的框架,叫做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" /><link rel="dns-prefetch" /><link rel="dns-prefetch" /><link rel="dns-prefetch" /><link rel="dns-prefetch" /><link rel="dns-prefetch" /><link rel="dns-prefetch" /><link rel="dns-prefetch" /><link rel="dns-prefetch" /><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/)
網站可以在線修改圖片像素及尺寸、裁剪、壓縮文件大小,對于一些從事文案工作的人來說是個好幫手,可以解決一些問題,不用打開專業的軟件去操作,效率低。
這次就分享這些實用的工具網站給大家,歡迎在評論區留言分享你的實用工具,點贊和評論是對我最大的鼓勵支持,謝謝大家。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。