python爬虫之爬取知乎发现

源码已放GitHub:zhihuexplore
此次使用到的库有四个
请求+解析
urljoin为urllib库里面的一个整合相对链接的方法
可以对链接进行一个合并
利用了beautifulsoup的正则表达式查找
首先分析目标

可以看到每一个问题的链接都会有/question这个相对目录,而每一个专题则是/special
这样可以进行正则表达式的构造:^/question
可以非常快速的进行定位

question_regex = re.compile(r"^/question")
special_regex = re.compile(r"^/special")

利用正则表达式定位到a标签,之后使用bs对象的.attrs定位他的链接属性

.attrs["href"]

再使用urljoin进行拼接:

urljoin(init_url,a_q.attrs["href"])

即可获得完整链接
再利用.string获取问题的文本,写成字典格式一一对应

links_question[a_q.string]=urljoin(init_url,a_q.attrs["href"])

最后将字典写入文本当中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值