node實現網頁內容的爬取

2022-07-20 16:12:11 字數 1290 閱讀 5103

編寫爬蟲程式大多是後端開發者的工作,但是node的出現使得前端開發者編寫爬蟲程式變的可能,而且實習操作起來非常的簡單。

首先介紹superagent,superagent是乙個小型的漸進式客戶端http請求庫,與node.js模組具有相同的api,具有許多高階http客戶端功能。從這句官方解釋就可以看出superagent是在node環境下封裝的實現http請求的庫,實現網頁內容的請求。

cheerio是在node環境下,能夠使用像jquery api的方式獲取網頁dom中的資料。

這兩個工具結合在一起可以抓取業務中特定的內容。我們都知道前端的網頁開發中,經常將具有相同樣式的dom節點用相同的class名來標記,這樣可以使它們具有相同的樣式,這樣就可以讓我們對抓取網頁中特定的內容提供了方便。

上面圖中是新聞列表對應的**,我們可以看到列表被id="xy-impcon"的div容器包裹,每個類別的新聞列表用ul,ul都有個共同class名list-a,ul下面都有li標籤和a標籤。如果想獲取每個新聞條目我們用cheerio獲取dom可以這樣寫$('#xy-impcon ul.list-a li a'),那麼我們就來編寫爬取鏈結和標題程式,並且將爬取的資料儲存成檔案。

上面的**就把爬取的內容都儲存成了檔案。

除此之外我們還可以使用phantomjs的webpage模組在node環境模擬瀏覽器端爬取網頁資料,生成網頁的截圖。之後介紹具體用法

Python爬取網頁內容

其時序圖如圖所示。給定乙個要訪問的url,獲取這個html及內容,遍歷html中的某一類鏈結,如a標籤的href屬性,從這些鏈結中繼續訪問相應的html頁面,然後獲取這些html的固定標籤的內容,如果需要多個標籤內容,可以通過字串拼接,最後通過正規表示式刪除所有的標籤,最後將其中的內容寫入.txt檔...

python lxml爬取網頁內容

from lxml import etree import requests url response requests.get url text response.text html etree.html text 先獲取到這個頁面的html,對了,這裡還用到了xpath來選擇節點,具體用法請參考...

靜態網頁內容爬取(python)

以 漏洞掃瞄為例 from bs4 import beautifulsoup from urllib.request import urlopen import pymysql as mysqldb import re import os 插入資料 def insertdata lis cursor...