赞
踩
目标网站
首页_36氪
https://36kr.com/
需求
写出爬取的代码
要爬所有的文章标题与文章url
Request URL: https://36kr.com/
接口直接在链接中
# 获取下一页内容
# 下一页url = 获取下一页内容(第一页HTML)
# 思路:正则拿
# 正则式的写法: re.compile(r'<a class="kr-home-flow-see-more" href="(.*?)">查看更多资讯</a>')
# 最终可以得到, "/information/web_news?anchor=68962"
# 下一页的url https://36kr.com/information/web_news?anchor=68962
响应也是html
第三页开始,链接就不是直接可在超链接中拿到的了
是一个ajax请求
得通过抓包的方式来拿
》点击查看更多,抓到的接口
https://36kr.com/pp/api/aggregation-entity?type=web_latest_article&b_id=68877&per_page=30
确认接口
分析接口
寻找参数的规律
下一个接口的 b_id 与 当前数据最后一篇文章对应的 id一致
例如,当前最后一个文章的数据是
那么下一页的接口应该为 b_id = 68876
https://36kr.com/pp/api/aggregation-entity?type=web_latest_article&b_id=68876&per_page=30
获取了一堆新数据后
再拿最后一篇文章中的 b_id,构建下一页的接口路径
再次发请求,再次拿数据
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。