#什麼是爬蟲 請求網站,提取網頁內容的最大化程序。獲取到的是html代碼,須要從這些文本中提取須要的數據html
向目標站點發送HTTP請求,即發送一個Request,請求能夠包括額外的header等信息,等待服務器響應java
2.獲取響應內容python
若是服務器正常,在第一步會返回一個response,response的內容即是所要獲取的頁面內容,類型可能有HTML,Json字符串、二進制數據(如圖片視頻)等類型。git
3.解析內容github
獲得的內容多是HTML。可使用正則表達式、網頁解析庫進行解析。若是是json,則能夠直接解析爲json對象進行解析;若是是二進制數據,能夠保存或者進一步的處理。web
4.保存數據:面試
能夠存爲文本,也能夠保存到數據庫或者特定格式的文件正則表達式
#request和response chrome
#request中包含什麼? 數據庫
#爬蟲能夠抓取什麼樣的數據?
#獲取到數據後,如何解析?
#注意: 使用request.get('url')獲得的只是第一個請求的內容,即當咱們執行:
import requests
response = requests.get('http://www.weibo.com')
print(response.text)#打印出的是第一個請求返回的代碼
複製代碼
即返回的是下圖中紅色方框中的代碼:
原生的html是不包括任何信息的,頁面顯示的信息是經過後續的js調用後臺的接口拿到數據,js再把網頁加載出來的。因此elements中的源代碼和咱們拿到的源代碼是不同的:
#pip install selenium
from selenium import webdirver
driver = webdriver.Chrom();#自動打開chrome瀏覽器
driver.get('www.weibo.com')#瀏覽器頁面自動跳轉到指定網址
print(driver.page_source)#獲取到的源代碼和瀏覽器頁面的源代碼一致,這是渲染後的頁面源碼,js渲染的問題就不存在了。
複製代碼
這種方式的缺點是後臺會自動運行chrome瀏覽器
###解決JavaScript渲染問題的方案總結
#怎樣保存數據
歡迎關注我的公衆號【菜鳥名企夢】,公衆號專一:互聯網求職面經、java、python、爬蟲、大數據等技術分享**: 公衆號**菜鳥名企夢
後臺發送「csdn」便可免費領取【csdn】和【百度文庫】下載服務; 公衆號菜鳥名企夢
後臺發送「資料」:便可領取5T精品學習資料**、java面試考點和java面經總結,以及幾十個java、大數據項目,資料很全,你想找的幾乎都有