前言
前面的文章(https://blog.csdn.net/qq_43382739/article/details/107513977)主要爬取首页的新闻列表而不是具体的新闻内容,本文会具体的分析如何爬取实际的新闻页面的具体内容
观察图中的新闻列表会发现有三种类型的新闻,点进去可以发现三种新闻的页面的类型不同,这里只选择性爬取类似于第一条新闻的类型,另外两种类型的爬取方法相似,可以自己去实践–_--
页面分析
一个新闻的内容不外乎三种类型:视频,图片,文字。这里选取三种内容都包含的页面来分析,链接如下:http://www.chinanews.com/gn/2020/07-22/9245520.shtml
打开控制台,视频一般会放在文章最前面,在id为tupian_div的div标签中(这里有坑,后面会讲。。。),正文会放在class为left_zw的div标签里的p标签中,图片会掺杂在p标签中
视频部分的爬取
按照上篇文章的采用xpath对html进行解析,视频主要在div下的source标签中,试着爬取一下地址
明显爬了个寂寞。。。
基本上可以判定视频是通过js动态加载出来的,具体如何应对这种情况的话会在后面的博客里说,因为内容还是比较多
这里的解决办法:在该div下面的第三个script标签中有视频地址,有那么点投机取巧的意思
提取视频地址的具体代码:
videos = news_demo.xpath('//div[@id="tupian_div"]//script')
videos_script = str(videos[2