您好,登錄后才能下訂單哦!
本篇內容主要講解“Python爬蟲高頻率面試題有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python爬蟲高頻率面試題有哪些”吧!
1 . Request中包含什么呢?
1、請求方式:主要有GET和POST兩種方式,POST請求的參數不會包含在url里面 2、請求URL URL:統一資源定位符,如一個網頁文檔、一張圖片、一個視頻等都可以用URL來唯一確定 3、請求頭信息,包含了User-Agent(瀏覽器請求頭)、Host、Cookies信息 4、請求體,GET請求時,一般不會有,POST請求時,請求體一般包含form-data
2 . Response中包含什么信息?
1、響應狀態:狀態碼 正常響應200 重定向 2、響應頭:如內容類型、內容長度、服務器信息、設置cookie等 3、響應體信息:響應源代碼、圖片二進制數據等等
3 . 常見的http狀態碼
200狀態碼 服務器請求正常 301狀態碼:被請求的資源已永久移動到新位置。服務器返回此響應(對 GET 或 HEAD 請求的響應)時,會自動將請求者轉到新位置。 302狀態碼:請求的資源臨時從不同的URI響應請求,但請求者應繼續使用原有位置來進行以后的請求 401狀態碼:請求要求身份驗證。 對于需要登錄的網頁,服務器可能返回此響應。 403狀態碼:服務器已經理解請求,但是拒絕執行它。與401響應不同的是,身份驗證并不能提供任何幫助,而且這個請求也不應該被重復提交。 404狀態碼:請求失敗,請求所希望得到的資源未被在服務器上發現。 500狀態碼:服務器遇到了一個未曾預料的狀況,導致了它無法完成對請求的處理。一般來說,這個問題都會在服務器的程序碼出錯時出現。 503狀態碼:由于臨時的服務器維護或者過載,服務器當前無法處理請求。
4 . HTTP 的請求和響應都包含哪些內容
HTTP請求頭 Accept:瀏覽器能夠處理的內容類型 Accept-Charset:瀏覽器能夠顯示的字符集 Accept-Encoding:瀏覽器能夠處理的壓縮編碼 Accept-Language:瀏覽器當前設置的語言 Connection:瀏覽器與服務器之間連接的類型 Cookie:當前頁面設置的任何Cookie Host:發出請求的頁面所在的域 Referer:發出請求的頁面的URL User-Agent:瀏覽器的用戶代理字符串 HTTP響應頭部信息: Date:表示消息發送的時間,時間的描述格式由rfc822定義 server:服務器名字。 Connection:瀏覽器與服務器之間連接的類型 content-type:表示后面的文檔屬于什么MIME類型 Cache-Control:控制HTTP緩存
5 . mysql的索引在什么情況下失效
1.如果條件中有or,即使其中有條件帶索引也不會使用(這也是為什么盡量少用or的原因) 要想使用or,又想讓索引生效,只能將or條件中的每個列都加上索引 2.對于多列索引,不是使用的第一部分,則不會使用索引 3.like查詢以%開頭 4.如果列類型是字符串,那一定要在條件中將數據使用引號引用起來,否則不使用索引 5.如果mysql估計使用全表掃描要比使用索引快,則不使用索引
6 . MySQL 有什么引擎,各引擎之間有什么區別?
主要 MyISAM 與 InnoDB 兩個引擎,其主要區別如下: 1、InnoDB 支持事務,MyISAM 不支持,這一點是非常之重要。事務是一種高級的處理方式,如在一些列增刪改中只要哪個出錯還可以回滾還原,而 MyISAM就不可以了; 2、MyISAM 適合查詢以及插入為主的應用,InnoDB 適合頻繁修改以及涉及到安全性較高的應用; 3、InnoDB 支持外鍵,MyISAM 不支持; 4、MyISAM 是默認引擎,InnoDB 需要指定; 5、InnoDB 不支持 FULLTEXT 類型的索引; 6、InnoDB 中不保存表的行數,如 select count() from table 時,InnoDB;需要掃描一遍整個表來計算有多少行,但是 MyISAM 只要簡單的讀出保存好的行數即可。注意的是,當 count()語句包含 where 條件時 MyISAM 也需要掃描整個表; 7、對于自增長的字段,InnoDB 中必須包含只有該字段的索引,但是在 MyISAM表中可以和其他字段一起建立聯合索引; 8、清空整個表時,InnoDB 是一行一行的刪除,效率非常慢。MyISAM 則會重建表; 9、InnoDB 支持行鎖(某些情況下還是鎖整表,如 update table set a=1 where user like '%lee%'
7 . Scrapy優缺點:
優點: scrapy 是異步的 采取可讀性更強的xpath代替正則 強大的統計和log系統 同時在不同的url上爬行 支持shell方式,方便獨立調試 寫middleware,方便寫一些統一的過濾器 通過管道的方式存入數據庫 缺點:基于python的爬蟲框架,擴展性比較差 基于twisted框架,運行中的exception是不會干掉reactor,并且異步框架出錯后是不會停掉其他任務的,數據出錯后難以察覺。
8 . HTTPS 是如何實現安全傳輸數據的
客戶端(通常是瀏覽器)先向服務器發出加密通信的請求 服務器收到請求,然后響應 客戶端收到證書之后會首先會進行驗證 服務器收到使用公鑰加密的內容,在服務器端使用私鑰解密之后獲得隨機數pre-master secret,然后根據radom1、radom2、pre-master secret通過一定的算法得出session Key和MAC算法秘鑰,作為后面交互過程中使用對稱秘鑰。同時客戶端也會使用radom1、radom2、pre-master secret,和同樣的算法生成session Key和MAC算法的秘鑰。 然后再后續的交互中就使用session Key和MAC算法的秘鑰對傳輸的內容進行加密和解密。
9 . 描述下scrapy 框架運行的機制?
從start_urls里獲取第一批url并發送請求,請求由引擎交給調度器入請求隊列,獲取完畢后,調度器將請求隊列里的請求交給下載器去獲取請求對應的響應資源,并將響應交給自己編寫的解析方法做提取處理: 如果提取出需要的數據,則交給管道文件處理; 如果提取出url,則繼續執行之前的步驟(發送url請求,并由引擎將請求交給調度器入隊列...),直到請求隊列里沒有請求,程序結束。
到此,相信大家對“Python爬蟲高頻率面試題有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。