前些日子写了一个利用python批量下载微博配图的程序,因为是基于微博的移动端,即weibo.cn ,难度要小很多。而当我面对美拍时却发现,好像有点困难啊。
美拍的页面有很多动态元素,当我们打开某一用户的主页时,你会发现,有些内容会随着滚动条的下拉自动加载。也就是说,当你打算查看页面源代码时,你会发现,这些代码是不完全的,缺少了那些后来自动加载的元素的代码。因为对相关知识缺乏了解,我甚至一度以为是::after这种伪元素在作怪,结果当然是被各路大神无情嘲讽。最后还是从依云那里得到了关键字——Ajax(异步JavaScript和XML)通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
凭着这个关键字,在知乎上看到一个回答,思路是找到并筛选类型为text/html的Get请求,最后在模拟这个请求。也就是说,