一日神技:最快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中经过开发者工具找到接口,以下图所示![]json
把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:
请看下面这个动图:
实现步骤以下:
右键这个请求,选择 Copy- CopyascURL,以下图所示:
打开Postman,点击右上角 Import按钮:
粘贴完成,点击 Import按钮。回到Postman主界面,点击右上角的 Code按钮,以下图所示:
这种方式粘贴下来的代码,虽然能够正常工做,可是有时候仍是须要你作一些修改,才能更好地使用。
例如它发起请求使用的是 requests.request('POST',...)这种写法,可是你实际项目中可能须要使用 requests.post(...)或者 session.post(...);
这些自动生成的代码使用的是 print(response.text),有时候你可能须要改为 response.json()或者 response.content.decode('utf-8')。
若是本文对你有帮助,请考虑购买个人爬虫书《Python爬虫开发,从入门到实战》。
kingname攒钱给产品经理买房。