功能描述:爬取知乎熱榜的排名信息並存儲到文件中正則表達式
程序設計:cookie
代碼:app
#爬取知乎熱榜的排名、標題、熱度並保存在文件中 #技術路線:requests----re #總結:當正則表達式中有(.+,.*)這樣的符號時,爲了不匹配到不相關的數據,此時一般採用最小匹配法 import requests,re def getHTML(url,cookie): try: r=requests.get(url,headers={'User-Agent':'Mozilla/5.0','Cookie':cookie}) r.raise_for_status() r.encoding=r.apparent_encoding return r.text except: return "" def parseHTML(demo,file_path): f=open(file_path,"w") rank_list=re.findall(r'>\d+</div>',demo) #排名 title_list=re.findall(r'HotItem-title\">.+?</h2>',demo) #標題 hot_list=re.findall(r'</svg>\d+\s.+?<span',demo) #熱度 for i in range(len(rank_list)): info_dict={} try: info_dict.update({ "排名":rank_list[i][1:-6], "標題":title_list[i][15:-5], "熱度":hot_list[i][6:-5], }) f.write(str(info_dict)+'\n') except: continue f.close() print("爬取完畢!") def main(): url='https://www.zhihu.com/hot' #知乎熱榜 cookie = '這是一個cookie信息' file_path="D://實驗結果//知乎熱榜.txt" demo=getHTML(url,cookie) parseHTML(demo,file_path) main()
效果:svg