抓取起点中文网小说
恩,寫在最前面。肯定是不能抓取VIP章節的,因為這違法了,(其實是我不會)
今天朋友告訴我,他看小說的時候,因為成片成片的錯別字,經常是看著看著就看不下去,問我有啥辦法解決
我說,你去正版網站看不就沒事了......
他說,你不是會爬蟲嗎,你幫我爬下來......
我說,就我這菜*水平,普通章節吧......
以下是代碼,不足之處還請各位大神們,予以指正!
萬分感謝!
1 import re 2 import urllib2 3 import time 4 5 def spiders_Qidian(url): 6 header={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36'} 7 request=urllib2.Request(url,headers=header) 8 page_code=urllib2.urlopen(request).read().decode('utf-8') 9 find='<li data-rid=".*?"><a href="(.*?)" target=".*?" data-eid=".*?" data-cid=".*?" title=".*?">(.*?)</a>.*?</li>' 10 context = re.findall(find,page_code) 11 # 加個標題吧 12 find2 = '<h1><em>(.*?)</em><span><a class=".*?" href=".*?" target=".*?" data-eid=".*?">.*?</a> .*?</span></h1>' 13 context2 = re.findall(find2, page_code) 14 for x in context[0:]: 15 # 跳過所有VIP章節,別問我怎么弄,我也不會.....汗! 16 if 'vipreader' not in x[0]: 17 url='http:'+x[0] 18 try: 19 page_code=urllib2.urlopen(url,timeout=5).read().decode('utf-8') 20 find_code='<div class="read-content j_readContent">(.*?)</div>' 21 context = re.findall(find_code, page_code,re.S) 22 except Exception,e: 23 # 因為偶爾會出現個別章節空白之類的問題 所以在此跳過 24 print str(x[1].replace(' ','').encode('utf-8'))+'【抓取失敗】' 25 continue 26 with open(context2[0]+'.txt','a+') as file: 27 file.write('\n') 28 # 去除偶爾的一些空格(其實沒啥用) 29 file.write(x[1].replace(' ','').encode('utf-8')) 30 file.write('\n') 31 try: 32 # 如果這個章節里面是空白,就會出現列表指針問題,恩,跳過 33 file.write(context[0].replace(' ','').replace('<p>','\n').encode('utf-8')) 34 except Exception,e: 35 print str(x[1].replace(' ','').encode('utf-8'))+'【寫入失敗】' 36 file.write('\n') 37 continue 38 print (x[1].replace(' ','').encode('utf-8')) 39 file.close() 40 # 讓他稍微休息會,恩0.5秒, 41 time.sleep(0.5) 42 43 44 if __name__ == '__main__': 45 # 這里是起點小說的任意一本小說的目錄,對,你沒看錯 這里必須先點目錄,然后再把網址輸入進來 46 # 如果你輸入網址 回車后發現怎么跳轉到網頁了,恩,粘貼上網址后加上個空格沒事的.....(別打我) 47 url = raw_input('請輸入你想要當前小說的目錄頁地址(必須是目錄頁哦)') 48 spiders_Qidian(url)?你問我 目錄頁是 什么鬼?
就是 進入某一部小說的頁面后,點擊它的目錄......(我錯了,是我沒說清)
就像這樣:
http://book.qidian.com/info/1010136878#Catalog
轉載于:https://www.cnblogs.com/HapyyHao1314/p/7429012.html
總結
- 上一篇: 智联招聘 爬虫职位信息的爬取
- 下一篇: 优秀程序员的七大特征,你具备几条?