天天看點

了解爬蟲原理

1. 簡單說明爬蟲原理

簡單來說模拟浏覽器發送請求(擷取網頁代碼)->提取有用的資料->存放于資料庫或檔案中

了解爬蟲原理

2. 了解爬蟲開發過程

1).簡要說明浏覽器工作原理;

(1):向伺服器發起請求,通過HTTP庫向目标站點發起請求,即發送一個Request,請求可以包含額外的headers等資訊,等待伺服器的響應。

(2):擷取響應内容 如果伺服器正常響應,會得到一個Response,Response的内容便是所要擷取的頁面内容,類型可能有HTML、JSON、二進制檔案(如圖檔、視訊等類型)。

(3):解析内容 得到的内容可能是HTML,可以用正規表達式、網頁解析庫進行解析。可能是JSON,可以直接轉成JOSN對象進行解析,可能是二進制資料,可以儲存或者進一步處理

(4):儲存内容 儲存形式多樣,可以儲存成文本,也可以儲存至資料庫,或者儲存成特定格式的檔案。

2).使用 requests 庫抓取網站資料;

requests.get(url) 擷取校園新聞首頁html代碼

import requests
res=requests.get('http://news.gzcc.cn/html/2019/xiaoyuanxinwen_0322/11042.html')
res.encoding='utf-8'
res.text
print(res.text)

      

3).了解網頁

寫一個簡單的html檔案,包含多個标簽,類,id

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>注冊頁面</title>
</head>
<body>
<body>
<form action="" method="post">
<table>
<tr><th colspan="2">注冊使用者</th></tr>
<tr>
<td>姓名:</td>
<td><input type="text" name="userName" /></td>
</tr>
<tr>
<td>性别:</td>
<td>男:<input type="radio" name="userSex" value="男" checked="checked">女:<input type="radio" name="userSex" value="女"></td>
</tr>
<tr>
<td>年齡:</td>
<td><input type="text" name="userName" /></td>
</tr>
<tr>
<td>聯系電話:</td>
<td><input type="text" name="telephone" /></td>
</tr>
</table>
</form>
</body>
</body>
</html>

      

4).使用 Beautiful Soup 解析網頁;

通過BeautifulSoup(html_sample,'html.parser')把上述html檔案解析成DOM Tree

select(選擇器)定位資料

找出含有特定标簽的html元素

了解爬蟲原理
了解爬蟲原理

找出含有特定類名的html元素

了解爬蟲原理
了解爬蟲原理

找出含有特定id名的html元素

 此處找出id=menu的子產品:

了解爬蟲原理
了解爬蟲原理

3.提取一篇校園新聞的标題、釋出時間、釋出機關

url = 'http://news.gzcc.cn/html/2019/xiaoyuanxinwen_0320/11029.html'

了解爬蟲原理