爬蟲基本原理
阿新 • • 發佈:2017-10-08
獲取 get 模式 like family asc shell ros text
推薦:(http://cuiqingcai.com/1052.html),本文是我在看了靜覓的視屏教程後的筆記.
1、一個HTML頁面裏可以有多個URL地址;
2、一個URL只能指向一個HTML頁面。
3.HTTP是傳輸協議
Request與Response的流程
(1)遊覽器發送消息給該網址所在的服務器,這個過程叫做HTTP Request.
(2)服務器收到遊覽器發送的消息後,根據遊覽器發送消息的內容,做出相應的處理,然後把這個消息傳送費遊覽器.這個過程叫做HTTP Response.
(3)遊覽器收到服務器的Response信息後,會對信息進行相應的處理,然後展示.
Request包含的內容
Response的內容
Request 和 response的過程
import requests headers = {‘User-Agent‘:‘Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36‘} response = requests.get(‘http://jandan.net/ooxx‘,headers = headers) print(response.text) #打印源代碼 print(response.headers) #打印請求頭 print(response.status_code) #打印請求狀態碼
怎麽抓取數據?
response = requests.get(‘http://wx3.sinaimg.cn/mw600/006d1Z6yly1fkaolncvg4j30zk0npn1u.jpg‘) #獲取HTML print(response.content) #以二進制格式打印出來 with open(‘1.jpg‘,‘wb‘) as f: #open第一個參數為名稱第二個參數為命令 ‘wb‘以二進制格式寫入 f.write(response.content) f.close()
解析方式
怎麽解決JavaScript渲染的問題?
from selnium import webdriver #使用selnium庫 shell模式下 pip install selnium 再下載chromedriver並放在加入pyth的環境的文件夾 driver = webdriver.Chrome() driver.get(‘URL‘) #使用chrome跳轉到你想要的網頁 print(driver.page_source)
保存數據
爬蟲基本原理