知乎还是很友好的 总体来说没啥难度 简单说下思路

1.评论是动态加载的 直接找json接口

2.分析接口参数,我测试的时候一次最多能拿20条数据(不过我还是一条一条拿的)

3.循环发送请求,其实可以先把评论数抓下来再for range 我只是比较懒(。・ω・。)

4.有的评论没图片,简单try一下或者if处理


首先需要引入爬虫库




import requests
from bs4 import BeautifulSoup
import json


发送请求




#发送请求函数
def getpage(header, cookie):
   for i in range(1000,2000):
       base_url = 'https://www.zhihu.com/api/v4/questions/29815334/answers?include=data%5B*%5D.is_normal%2Cadmin_closed' \
                  '_comment%2Creward_info%2Cis_collapsed%2Cannotation_action%2Cannotation_detail%2Ccollapse_reason%2Cis' \
                  '_sticky%2Ccollapsed_by%2Csuggest_edit%2Ccomment_count%2Ccan_comment%2Ccontent&offset=' + str(i) + '&limit=1&sort' \
                '_by=default'
       response = requests.get(base_url, headers=header, cookies=cookie)
       html = response.text
       img_json = json.loads(html)
       print('正在抓取知乎长腿小姐姐图片 第%s条评论'% i)
       contentpage(img_json)


解析json数据

#解析json数据
def contentpage(img_json):
   try:
       data = img_json["data"][0]
       content = data["content"]
       # print(content)
       html = BeautifulSoup(content,'lxml')
       # 提取img标签 由于会抓到两张一页的图片所以每隔一个提取一次
       img_page = html.select('img')[::2]
       for i in img_page:
           address = i.get('src')
           # print(address)
           imgpage(address)
   except:
       print('此评论没有图片')

大家需要源码可以直接关注《志学Python》公众号,回复‘长腿妹子’,直接给你网盘地址,过期了可以直接后台回复,看到我会回复的

大海啊,夏天啊,全是腿啊_java

随便挑了几张给你们欣赏下!

大海啊,夏天啊,全是腿啊_java_02

大海啊,夏天啊,全是腿啊_java_03

大海啊,夏天啊,全是腿啊_java_04



大海啊,夏天啊,全是腿啊_java_05

大海啊,夏天啊,全是腿啊_java_06