极客学院-python利器-东野圭吾《白夜行》小说爬虫制作

Date:2016-11-28
By:Black Crow

前言:

极客学院的课程开始了有一段时间,但是第一节的作业就难倒我了,所以对于作业,我是迟迟没有动手来做的。本次的作业是第三部分的课程作业,与《python实战计划》不同的是,极客学院的老师授课的抓取核心是采用“lxml”抓取“XPATH”的方式实现(python实战计划主要是Beautifulsoup+css selector的方式)。这部分课程算是填补了空白区域。本次作业的代码是首次使用类来写的,对于类的使用还不是很熟练,需要多加练习。学习期间跟《python实战计划》班上遇到的同学蜗牛仔交流了很多,也学到了很多,有人一起学习的感觉还是不错的。

作业效果:

极客学院-python利器-东野圭吾《白夜行》小说爬虫制作_第1张图片
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))


####总结:
>1. 关于类的使用上,还是不太熟练,对于代码部分,感觉还有很大的改进空间,后面还是要多用。
2. XPATH处理上感觉还是很精准的,beautifulsoup使用时调试还是花了不少时间,XPATH就定位精准很多了。

你可能感兴趣的:(极客学院-python利器-东野圭吾《白夜行》小说爬虫制作)