古詩文網站的網絡爬蟲編寫方式,通過網絡爬蟲抓去內容
阿新 • • 發佈:2018-08-08
請求 int rip arm print col re.sub 輸出 parse 1. 以下就是古詩文網站的爬蟲代碼,請看:
# encoding:utf-8 import requests import re import json def parse_page(url): # 1.請求網站 headers = { "User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.62 Safari/537.36" } response = requests.get(url, headers=headers) text = response.text # 2.解析網站 titles = re.findall(r'<div\sclass="cont">.*?<b>(.*?)</b>', text, re.DOTALL) # print json.dumps(titles, encoding="utf-8", ensure_ascii=False) times = re.findall(r'<p\sclass="source">.*?<a\s.*?>(.*?)</a>', text, re.DOTALL) # print json.dumps(times, encoding="utf-8", ensure_ascii=False) authors = re.findall(r'<p class="source">.*?<a.*?<a.*?>(.*?)</a>', text, re.DOTALL) poems_ret = re.findall(r'<div class="contson" id=.*?>(.*?)</div>', text, re.DOTALL) poems = [] for poem in poems_ret: temp = re.sub("<.*?>", "", poem) poems.append(temp.strip()) # for index, value in enumerate(titles): # print titles[index] # print times[index] # print authors[index] # print poems[index] # print "*"*50 # zip函數自動實現上述組合 results = [] for value in zip(titles, times, authors, poems): title, time, author, poem = value result = { "標題": title, "朝代": time, "作者": author, "原文": poem } print result["標題"] results.append(result) # print results def main(): url_base = "https://www.xzslx.net/gushi/" for i in range(1, 11): url = url_base.format(i) print " "*20+"優美古詩文"+" "*20 print "*"*50 parse_page(url) print "*"*50 if __name__ == '__main__': main()
2. 輸出來的結果是:
C:\DDD\python22\python.exe C:/PyCharm/dytt_spider/poems.py 古詩文 ************************************************** 關山月 明月出天山,蒼茫雲海間。 長風幾×××,吹度玉門關。 漢下白登道,胡窺青海灣。 [2] 由來征戰地,不見有人還。 戍客望邊邑,思歸多苦顏。 高樓當此夜,嘆息未應閑。 ************************************************** 古詩文 ************************************************** 隴西行四首·其二 誓掃匈奴不顧身,五千貂錦喪胡塵。 可憐無定河邊骨,猶是春閨夢裏人! ************************************************** 古詩文 ************************************************** 嫦娥(嫦娥應悔偷靈藥) 雲母屏風燭影深, 長河漸落曉星沈。 嫦娥應悔偷靈藥, 碧海青天夜夜心。 **************************************************
Process finished with exit code 0
古詩文網站的網絡爬蟲編寫方式,通過網絡爬蟲抓去內容