有时刷知乎瞥到了挺好玩的答案,但是手一滑退出去了,再想找到那个答案真是大海捞针。
今天我又遇到了这种情况,所以干脆想用之前的知乎爬虫把全部答案爬下来,然后再筛选。
突然发现之前的爬虫完全没用了,我又不想认真重写,干脆临时搞一个吧。
import requests def get_item(li): li1 = [] for i in li: item = { 'url': i['target']['url'], 'excerpt': i['target']['excerpt'] } li1.append(item) return li1 def start(li,url): r = requests.get(url, headers=headers) li = li+get_item(r.json()['data']) next_page_url = r.json()['paging']['next'] is_end = r.json()['paging']['is_end'] return li,next_page_url,is_end start_url = 'https://www.zhihu.com/api/v4/questions/265952961/feeds?&limit=100&offset=1' headers = { "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36", "Cookie": '你的Cookie' } li = [] li,next_page_url,is_end = start(li,start_url) while is_end == False: li,next_page_url,is_end = start(li,next_page_url) for item in li: if '唱' in item['excerpt']: print(item)
看下输出:
{'url': 'https://www.zhihu.com/api/v4/answers/3212239064', 'excerpt': '[图片] 不知道哪里看来的,连一起能唱出来'} {'url': 'https://www.zhihu.com/api/v4/answers/321244865', 'excerpt': '鈊(xīn)。为了隐私就不说姓氏了,姓氏很普通的。名字缩写zx,听个音乐上一节课体育嘉年华什么活动都能听到一样的… 去机场买票,售票员问我怎么念;上课点名,老师直接念错;跟别人写自己的名字,硬生生拆成三个字(名字是两个字)还被人叫成“金星”,一群人在唱“星星点灯~” 我觉得我这个名字全世界绝对没有一个重名的了。 没有啥体验的吧,就是被念错很尴尬。很烦别人叫我“金星”。'} {'url': 'https://www.zhihu.com/api/v4/answers/2827613728', 'excerpt': '不稀有,我同学叫姚远 每次都唱在那遥远的地方~'}
我要找的就是第一个,自己拼凑一下完整网址:https://www.zhihu.com/question/265952961/answer/3212239064
ok。
Comments | NOTHING