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