python爬取知乎标题_python爬知乎热榜

爬项目:知乎热榜标题、热度、简介。

第一步浏览网页源代码 确认在哪html 还是js里

标题和热度在html

标签内容在js 需要用到正则表达式:

第二先爬html 里的内容调用模块—再请求一下url数据看看能否找到

#注意:爬出以下内容,加密的需要添加cookie 和user-agent

爬取xml内容, 调用BeautifulSoup模块

注意找html 属性时,代码如下:

soup =BeautifulSoup(html.text, 'lxml') # 引用ixml解析器

beautifulsoup divs = soup.select('.HotList-item') #锁定 class 的头部标签代码

for div in divs: # for循环

title = div.select('.HotList-itemTitle')[0].text #注意这个位置写.HotList-item.HotList-itemBody..HotList-itemTitle 锁定不到,原因是前面都是重合代码直接写title即可,只有表黄才能定位成功 ;select获取列表,锁定第一个[0]

Metrics = div.select('.HotList-itemMetrics')[0].text# 和上面title 一样定位。 print('标题:', title) print('热度:', Metrics)

爬标题和热度代码输入:

爬图片src和图片下载打包:import os

注意:有的图片是空,为了防止出现bug,建立防错机制:try: except: pass

标题、热度、图片结果:

第三步爬简介, 在js里,需要正则表达式 (.*?)

首先在显示源代码里找出js 里简介找到一条,复制代码和内容,然后删除文字,留下代码:

('"excerptArea":{"text":"(.*?)"}')

继续在下面写代码:引用findall

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值