上一节我们爬取的网页是要下载的图片在一个页面全部展示出来。
在今日头条里还有一种网页是一张一张的展示图片,要想看下一张图片必须点一下才能看。
今天我们就把这种网页图片给爬下来。
go......
一、首先我们分析网页
这里我给一个网页地址:https://www.toutiao.com/a6620381685949137415/
按F12进入开发者模式
点一下左上角的小箭头先看两张图片
我们会发现即时我们不打开图片,也能得到所有图片网址,也就是<li>里面的网址。
好了我们开始写代码,把它提取出来
运气不错获取到了内容。
二、把获取到内容用正则表达式提取出来
大家可能会部为什么用正则,因为我现在只会正则(汗...................)
首先我们分析得到的内容,我们会发现这个网页我们根本无法使用BeautifulSoup提取到里面的元素,查资料吧,网上有一大堆的方法,有使用无头浏览器再次渲染,但是这个学习成本真的很大,留在以后慢慢学吧。
还是使用我们的正则,简单粗暴有效,哈哈.............
经过观察获取的见容,我们发现这很像一个字典啊,没错这就是传说中的json数据。
那么怎么提取这个json数据呢?
我用正则,可是.....................
再来认真的学一下正则吧(1小时过去了,)试试了很多表达式不行,看来我还是要再学习啊!
可是领导正催着要呢,再说还要显示出咱的效率不是?
我再看,再看,再看....................有了
没错,所有的图片网址都是以http开头的。你说你怎么知道是这些网址啊?当然是和我们一开始在开发者模式里看到的网址一样才知道的。
我们来试试
没错就是它。
接下来就是不断的进行调试,最终得到正确的网址。
最终代码如下:
好了。至此这类活动显示的图片也成功的爬取了。
真的很有成就 感!就是太累了!