1. 程式人生 > 實用技巧 >python爬蟲——帶你爬取古詩名句,考試什麼的不就是輕輕鬆鬆

python爬蟲——帶你爬取古詩名句,考試什麼的不就是輕輕鬆鬆

本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯絡我們以作處理

以下文章來源於騰訊雲 作者:py3study

( 想要學習Python?Python學習交流群:1039649593,滿足你的需求,資料都已經上傳群檔案流,可以自行下載!還有海量最新2020python學習資料。 )

一. 概要

1.通過python爬蟲迴圈爬取古詩詞網站古詩名句
2.落地到本地資料庫

二. 頁面分析

首先通過firedebug進行頁面定位:

其次原始碼定位:

最終生成lxml etree定位div標籤原始碼:

response = etree.HTML(data)
for row in response.xpath('//div[@class="left"]/div[@class="sons"]/div[@class="cont"]'): content = row.xpath('a/text()')[0] origin = row.xpath('a/text()')[-1] self.db.add_new_row('mingJuSpider', {'content': content, 'origin': origin, 'createTime': str(date.today())})

三. 執行結果

四. 指令碼原始碼

#
!/usr/bin/env python # -*- coding: utf-8 -*- ''' @Date : 2017/12/21 12:35 @Author : kaiqing.huang @File : mingJuSpider.py ''' from utils import MySpider, MongoBase from datetime import date from lxml import etree import sys class mingJuSpider(): def __init__(self): self.db = MongoBase() self.spider
= MySpider() def download(self): for pageId in range(1,117): url = 'http://so.gushiwen.org/mingju/Default.aspx?p={}&c=&t='.format(pageId) print url data = self.spider.get(url) if data: self.parse(data) def parse(self, data): response = etree.HTML(data) for row in response.xpath('//div[@class="left"]/div[@class="sons"]/div[@class="cont"]'): content = row.xpath('a/text()')[0] origin = row.xpath('a/text()')[-1] self.db.add_new_row('mingJuSpider', {'content': content, 'origin': origin, 'createTime': str(date.today())}) if __name__ == '__main__': sys.setrecursionlimit(100000) do = mingJuSpider() do.download()