Python 爬虫对iframe标签的处理

某些网站会使用到iframe标签做页面内的内联框架,使用Python的requests包抓取时,只会抓取到iframe标签,而不会试图去展开iframe标签。

如果iframe的src属性所指的页面为静态内容,那么再使用requests去get这个src即可,然而就网站设计而言,iframe标签最大的用处在于放广告,由于iframe标签对页面的click事件享有最高的捕获权,对页面任何位置的click都会先给iframe标签内的文档处理,若无处理再交给主文档处理。因此在有些硬广特别多的网站,鼠标随手一点就是一个广告,就是利用了这个特点。

另外iframe标签内的页面是可以获取主页面上的数据。总体而言iframe标签本身的src内容是Javascript自动生成的可能性很大,当然即便是src是固定的,src指向的也有可能是用Javascript渲染的内容。因此仅使用requests模块只能处理那些没有Javascript参与渲染的静态页面中指向静态内容的iframe标签,只需要将主页面HTML内容通过BeautifulSoup解析出iframe的src属性,再用requests请求即可。

留下评论