簡單的理解Ajax
Ajxa全稱Asynchronous JavaScript and XML(異步的 JavaScript 和 XML)
Ajax是一個技術(shù),這個技術(shù)是用在創(chuàng)建快速動態(tài)網(wǎng)頁的技術(shù)。不
它不是編程語言,是一種使用現(xiàn)有標準的新方法。
Ajax是和服務(wù)器交換數(shù)據(jù)并且更新部分網(wǎng)頁的工具,在不重新加載整個頁面的情況下,對網(wǎng)頁某部分進行更新。
傳統(tǒng)網(wǎng)頁如果要更新部分內(nèi)容的話必須要重新加載整個網(wǎng)頁
Ajax的技術(shù)核心是XHR,Ajax創(chuàng)建這個XHR對象,之后可以通過它來獲取到服務(wù)器的數(shù)據(jù),之后通過DOM將數(shù)據(jù)插入到頁面中呈現(xiàn)。
爬取Ajax動態(tài)加載網(wǎng)頁案例爬蟲的步驟就是下載到解析,那么Ajax一般返回的是json格式數(shù)據(jù),直接使用requests對于ajax地址進行post或者下載,返回json數(shù)據(jù)格式,解析json數(shù)據(jù)就可以得到想要獲取的信息(解析)
如果我們使用Ajax加載的動態(tài)網(wǎng)頁,怎么爬取里面動態(tài)加載的內(nèi)容?一般就是:
通過selenium模擬瀏覽器抓取通過瀏覽器審查元素解析需要用到的工具有什么:下載庫:
Urllib庫
requests做請求的時候用到
selenium自動化會用到的
解析庫:
正則匹配re解析網(wǎng)頁
lxml第三方庫,用于Xpath
beautifulSoup解析網(wǎng)頁
pyquery網(wǎng)頁解析哭和beautifulSoup類似
數(shù)據(jù)庫操作庫:
pymysql操作mysql數(shù)據(jù)的
pymongo操作MongoDB數(shù)據(jù)庫
redis非關(guān)系型數(shù)據(jù)庫
jupyter在線筆記本