首先这里说一下我标题动态内容指的就是一个网页,每天你去浏览它的时候有些内容是更新的,所以这些是在源代码里面没有的。例子为B站每天的轮播和静态推荐内容都是不断更新的。
因此,如果想要爬取这些信息,一直用之前的爬取方式:requests.get(URL) ,是找不到这些的。用的是和get相呼应的:requests.post(URL) 。
关键一,就是如何正确得到这些动态更新内容的URL:
打开网页,审查元素里面到Network,这时,刷新页面,Network下面的列表内容就会更新,找xhr。我现在是知道找那个了,大体上就是Type是xhr,Name能看出些明堂的那个。例子如下:
看到ranking-3day这个哟,xhr,有种就是它的感觉,就决定是它了。
很好,在Preview里面找到了那些每天更新的内容,而它们所在的URL在Headers里面的Request URL可以看到。
# 首页静态推荐 url1 = 'http://www.bilibili.com/index/ranking-3day.json' r = requests.post(url1) r.encoding = 'utf-8' p_json = r.json()到这里才是开始,有没有看见json(),如何解析json,从json里面得到想要的数据信息是下部分会讲到的。我会为目前自己遇到的两种情况进行说明。