網頁獲取資料
HTML:
是用來描述網頁的一種語言。但是它不是一種程式語言,而是一種標記語言(markup language)。標記語言是一套標記標籤(markup tag), HTML 是使用標記標籤來描述網頁。
html 標記標籤通常被稱為HTML 標籤(HTML tag)。
標籤由尖括號包圍的關鍵詞,比如<html>
標籤通常是成對出現的,比如<b> 和</b>
標籤對中的第一個標籤是開始標籤,第二個標籤是結束標籤,開始和結束標籤也被稱為開放標籤和閉合標籤。
解析HTML 函式
BeautifulSoup(html)
find(name,id=id.attrs={})
find_all(name,attrs={})
getText()
html: html 格式文件
name: 需要檢索的標籤名
attrs: html標籤內的屬性值,可以用這些屬性進行過濾
import urllib.request #pip install BeautifulSoup4 from bs4 import BeautifulSoup response = urllib.request.urlopen('file:///Volumes/CHASESKY/python/03-資料分析與資料探勘篇/1-資料分析資料視覺化實戰-(Python3.5)/章節6網頁資料抓取/6/6.1/html.html') # 把裡面的內容讀出來 html = response.read() print(html) # 將內容排好序 soup = BeautifulSoup(html) print(soup) #%% print(soup.find('tr')) print(soup.find_all('tr'))
JSON 簡述
JSON 全稱JavaScript 物件表示法(JavaScript Object Notation) , 是儲存和交換文字資訊的語法。具有文字量更小,更快,更易解析的特點。
json 和 html 不一樣,html主要用於展示資料,json主要用於傳遞資料,所以一般作為資料的查詢介面。
JSON 函式:
json.loads(jsonString)
jsonList[index]
jsonObject['propertyName']
jsonString, JSON 的字串格式資料,如果沒有解碼,呼叫decode()即可
index, JSON 序列物件的索引值,從0開始,可以通過len方法獲取總長度
propertyName, JSON物件的屬性名,可以通過這個方法訪問JSON 的屬性值
import json import urllib.request response = urllib.request.urlopen('file:///Volumes/CHASESKY/python/03-資料分析與資料探勘篇/1-資料分析資料視覺化實戰-(Python3.5)/章節6網頁資料抓取/6/6.2/json.json') #%% 讀取字串 jsonString = response.read() #解碼出來 #%% jsonObject = json.loads(jsonString.decode()) print(jsonObject) # print(jsonObject['employees']) print(jsonObject['employees'][0]) print(jsonObject['employees'][0]['lastName'])
Google:
Ctrl+ Shift+I
mac: alt+command+I
解析網頁
data = DataFrame(columns=['Feature','Property'])
data = data.append(Series([f,p], index=['Feature',' Property']), ignore_index = True)
columns 資料框的列 index 序列對應的序列,通過指定和資料框一樣的列名,往資料框內追加資料
ignore_index: 是否忽略原來的序號,一般設定為True,則重新設定序號。