python-爬虫实例:获取豆瓣小说分类界面的文本信息
import requests
from lxml import etree
class DoubanSpider:
def __init__(self, url):
self.url = url
self.headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
def get_texts(self):
response = requests.get(self.url, headers=self.headers)
if response.status_code == 200:
return response.text
def parse_page(self, html):
html = etree.HTML(html)
texts = html.xpath('//div[@class="category-group"]/div[@class="category-container"]/div[@class="category-items"]/div/text()')
return texts
def run(self):
html = self.get_texts()
texts = self.parse_page(html)
for text in texts:
print(text.strip())
if __name__ == '__main__':
url = 'https://book.douban.com/subject/10836915/'
spider = DoubanSpider(url)
spider.run()
这段代码实现了一个简单的爬虫,用于获取豆瓣小说分类界面的文本信息。首先定义了一个DoubanSpider类,包含了初始化方法、获取网页文本的方法、解析网页的方法和运行的方法。在__init__
方法中初始化了URL和请求头部。get_texts
方法使用requests库获取网页文本。parse_page
方法使用lxml库解析HTML并提取指定的文本信息。最后,在run
方法中调用了这些方法,实现了爬虫的流程。
评论已关闭