创新实训(6)-博客园首页爬虫(二)
接着分析博客园的文章。
2.6 博文标签获取
标签获取就比较麻烦了,一开始我还是和之前一样,直接F12,去找对应的html,但是执行之后发现出错了,找不到。于是我去response里搜索了一下,果然没有。
猜测可以是使用ajax另外获取的,于是再次搜索,发现了另外一个请求:
查看该请求:
发现是个GET请求,URL的规律是
https://www.cnblogs.com/ + 用户昵称 + /ajax/CategoriesTags.aspx?blogId= + blogId(416394) + &postId= postId(13180589)
现在只要找到 blogId
和 postId
就可以请求到博客对应的标签了。
到博文的response里再次搜索,
发现了blogId和postId,下面只需要获取到这两个值,然后构造URL发送请求即可得到博文标签了。
这里使用正则表达式提取blogId和postId:
# blogid ,用于获取分类和tag
blogid = response.xpath('//script').re(r'cb_blogId = (\d[0-9])')[0]
# postId
postid = response.xpath