一日神技:最快30秒寫出一個異步加載爬蟲

一日神技:最快30秒寫出一個異步加載爬蟲
(https://s4.51cto.com/images/blog/202012/03/5c1708002c25e9a16f9671eed1606f12.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)html

在開發爬蟲的過程當中,遇到異步加載的接口,咱們通常會使用以下幾步來使用Python獲取接口裏面的內容:ajax

  • 在Chrome中經過開發者工具找到接口,以下圖所示![]
    一日神技:最快30秒寫出一個異步加載爬蟲json

  • 把URL複製出來
  • 把字符串形式的Headers複製出來:
    一日神技:最快30秒寫出一個異步加載爬蟲

把Headers改形成字典的形式
headers ={session

'Accept':'/',app

'Accept-Encoding': 'gzip, deflate',異步

'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',編輯器

'Connection': 'keep-alive',ide

'Content-Type': 'application/json; charset=UTF-8',工具

'Cookie':'__cfduid=d82848eba37c2cbe78ba309bcdd18aa381560756114;v=AqRSJ14kpQxCvtFA70tAOEAnc6mXPcinimFc677FMG8yaUrb5k2YN9pxLHoN;_xsrf=2|c8685b58|ae9e0011924ca21d94653488771dc217|1563418855',post

'DNT': 1,

'Host':'exercise.kingname.info',

'Origin': 'http://exercise.kingname.info',

'Referer': 'http://exercise.kingname.info/exercise_ajax_3.html',

'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5)AppleWebKit/537.36 (KHTML, like Gecko)Chrome/75.0.3770.100 Safari/537.36',

'X-Requested-With': 'XMLHttpRequest'}
  • 若是是POST接口,還須要複製Body:
    一日神技:最快30秒寫出一個異步加載爬蟲

  • ……
    整個過程冗長、機械又枯燥。那有沒有辦法在30秒內完成這全部的操做呢?

請看下面這個動圖:
一日神技:最快30秒寫出一個異步加載爬蟲

實現步驟以下:

  • 在Chrome開發者工具中找到異步加載的接口
  • 右鍵這個請求,選擇 Copy- CopyascURL,以下圖所示:
    一日神技:最快30秒寫出一個異步加載爬蟲

  • 打開Postman,點擊右上角 Import按鈕:

  • 在彈出窗口中定位到 PasteRawText,並粘貼,以下圖所示:
    一日神技:最快30秒寫出一個異步加載爬蟲
  • 粘貼完成,點擊 Import按鈕。回到Postman主界面,點擊右上角的 Code按鈕,以下圖所示:
    一日神技:最快30秒寫出一個異步加載爬蟲

  • 在彈出窗口中,左上角選擇 PythonRequests,最後點擊右上角的 CopytoClipboard
    一日神技:最快30秒寫出一個異步加載爬蟲
  • 到PyCharm或者其餘編輯器中粘貼代碼,運行!
    一日神技:最快30秒寫出一個異步加載爬蟲
    以上就是所有過程,速度快的話,不到30秒就能完成。讓你把更多精力放在真正有用的地方,而不是這些機械繁雜的操做。

提示

這種方式粘貼下來的代碼,雖然能夠正常工做,可是有時候仍是須要你作一些修改,才能更好地使用。

例如它發起請求使用的是 requests.request('POST',...)這種寫法,可是你實際項目中可能須要使用 requests.post(...)或者 session.post(...);

這些自動生成的代碼使用的是 print(response.text),有時候你可能須要改爲 response.json()或者 response.content.decode('utf-8')。

若是本文對你有幫助,請考慮購買個人爬蟲書《Python爬蟲開發,從入門到實戰》。

kingname攢錢給產品經理買房。

相關文章
相關標籤/搜索