详情页面如何获取
求思路。 目前我使用selenium相关
很久没搞这一块了,刚去看了一下网页版,网页结构跟之前的一样。
其实用Selenium的方式跟直接使用接口的效果是一样的。 知识星球网页版是前后端分离架构,列表接口获取的talk信息就是详情页面的全文信息。只不过打开详情页面会调用comments接口来获取评论列表,除此之外,详情页没有任何用途。
使用Selenium抓取的话,模拟滚动,下滑列表页,监听列表页底的“加载中...”元素,然后拦截api接口信息并保存。 如果要获取详情页的评论列表,直接使用js注入的方式请求comments接口,不需要模拟点击打开详情并关闭,没有这个必要。
这是我的思路,仅供参考。
谢谢老师~
很久没搞这一块了,刚去看了一下网页版,网页结构跟之前的一样。
其实用Selenium的方式跟直接使用接口的效果是一样的。 知识星球网页版是前后端分离架构,列表接口获取的talk信息就是详情页面的全文信息。只不过打开详情页面会调用comments接口来获取评论列表,除此之外,详情页没有任何用途。
使用Selenium抓取的话,模拟滚动,下滑列表页,监听列表页底的“加载中...”元素,然后拦截api接口信息并保存。 如果要获取详情页的评论列表,直接使用js注入的方式请求comments接口,不需要模拟点击打开详情并关闭,没有这个必要。
这是我的思路,仅供参考。
并非如此,APi v2版本上线时已经应用了 请求签名,不处理签名就会封号,其次talk信息是摘要信息,不是全文,很多文章都会在全文尾部追加附件,目前的爬虫代码只是索引了摘要内容
很久没搞这一块了,刚去看了一下网页版,网页结构跟之前的一样。 其实用Selenium的方式跟直接使用接口的效果是一样的。 知识星球网页版是前后端分离架构,列表接口获取的talk信息就是详情页面的全文信息。只不过打开详情页面会调用comments接口来获取评论列表,除此之外,详情页没有任何用途。 使用Selenium抓取的话,模拟滚动,下滑列表页,监听列表页底的“加载中...”元素,然后拦截api接口信息并保存。 如果要获取详情页的评论列表,直接使用js注入的方式请求comments接口,不需要模拟点击打开详情并关闭,没有这个必要。 这是我的思路,仅供参考。
并非如此,APi v2版本上线时已经应用了 请求签名,不处理签名就会封号,其次talk信息是摘要信息,不是全文,很多文章都会在全文尾部追加附件,目前的爬虫代码只是索引了摘要内容
那应该是页面改版了,之前是没有详情接口的。如果使用Selenium,不需要考虑接口和签名的问题吧
刚才看了一下,接口结构没有变化,依旧没有详情接口,可能是一些附件有单独的获取接口。另外接口增加了signature验证