Date:2016-11-28
By:Black Crow
前言:
極客學院的課程開始了有一段時間,但是第一節(jié)的作業(yè)就難倒我了,所以對于作業(yè),我是遲遲沒有動手來做的。本次的作業(yè)是第三部分的課程作業(yè),與《python實戰(zhàn)計劃》不同的是,極客學院的老師授課的抓取核心是采用“l(fā)xml”抓取“XPATH”的方式實現(xiàn)(python實戰(zhàn)計劃主要是Beautifulsoup+css selector的方式)。這部分課程算是填補了空白區(qū)域。本次作業(yè)的代碼是首次使用類來寫的,對于類的使用還不是很熟練,需要多加練習。學習期間跟《python實戰(zhàn)計劃》班上遇到的同學蝸牛仔交流了很多,也學到了很多,有人一起學習的感覺還是不錯的。
作業(yè)效果:
white.png
我的代碼:
import requests
import lxml.html
class GetNovel():
def init(self):
self.filepath = 'F://python/white.txt'
self.page = 'http://www.dongyeguiwu.com/books/baiyexing/53.html/'
def GetPageUrls(self):
page = self.page
urllist =[]
for i in range (1,7):
pageurl = page +str(i)
urllist.append(pageurl)
return urllist
def GetPageContent(self,url):
r = requests.get(url)
selector = lxml.html.fromstring(r.text)
contents = selector.xpath('//div[@class="readtext"]/p/text()')
return contents
def WriteFile(self,contents):
for content in contents:
with open(self.filepath,'a+') as file:
file.write(content+'\n')
a = GetNovel()
for i in a.GetPageUrls():
a.WriteFile(a.GetPageContent(i))
####總結(jié):
>1. 關(guān)于類的使用上,還是不太熟練,對于代碼部分,感覺還有很大的改進空間,后面還是要多用。
2. XPATH處理上感覺還是很精準的,beautifulsoup使用時調(diào)試還是花了不少時間,XPATH就定位精準很多了。
