欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實(shí)現(xiàn)爬取逐浪小說的方法

 更新時間:2015年07月07日 15:14:52   作者:wucl202000  
這篇文章主要介紹了Python實(shí)現(xiàn)爬取逐浪小說的方法,基于Python的正則匹配功能實(shí)現(xiàn)爬取小說頁面標(biāo)題、鏈接及正文等功能,需要的朋友可以參考下

本文實(shí)例講述了Python實(shí)現(xiàn)爬取逐浪小說的方法。分享給大家供大家參考。具體分析如下:

本人喜歡在網(wǎng)上看小說,一直使用的是小說下載閱讀器,可以自動從網(wǎng)上下載想看的小說到本地,比較方便。最近在學(xué)習(xí)Python的爬蟲,受此啟發(fā),突然就想到寫一個爬取小說內(nèi)容的腳本玩玩。于是,通過在逐浪上面分析源代碼,找出結(jié)構(gòu)特點(diǎn)之后,寫了一個可以爬取逐浪上小說內(nèi)容的腳本。

具體實(shí)現(xiàn)功能如下:輸入小說目錄頁的url之后,腳本會自動分析目錄頁,提取小說的章節(jié)名和章節(jié)鏈接地址。然后再從章節(jié)鏈接地址逐個提取章節(jié)內(nèi)容?,F(xiàn)階段只是將小說從第一章開始,每次提取一章內(nèi)容,回車之后提取下一章內(nèi)容。其他網(wǎng)站的結(jié)果可能有不同,需要做一定修改。在逐浪測試過正常。

現(xiàn)分享此代碼,一是做個記錄,方便自己以后回顧。二么也想拋磚引玉,希望各路大神不吝賜教。

#-*-coding:utf8-*-
#!/usr/bin/python
# Python:   2.7.8
# Platform:  Windows
# Program:   Get Novels From Internet
# Author:   wucl
# Description: Get Novels
# Version:   1.0
# History:   2015.5.27 完成目錄和url提取
#       2015.5.28 完成目錄中正則提取第*章,提取出章節(jié)鏈接并下載。在逐浪測試下載無誤。
from bs4 import BeautifulSoup
import urllib2,re
def get_menu(url):
  """Get chapter name and its url"""
  user_agent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0"
  headers = {'User-Agent':user_agent}
  req = urllib2.Request(url,headers = headers)
  page = urllib2.urlopen(req).read()
  soup = BeautifulSoup(page)
  novel = soup.find_all('title')[0].text.split('_')[0]
  # 提取小說名
  menu = []
  all_text = soup.find_all('a',target="_blank")
  # 提取記載有小說章節(jié)名和鏈接地址的模塊
  regex=re.compile(ur'\u7b2c.+\u7ae0')
  # 中文正則匹配第..章,去除不必要的鏈接
  for title in all_text:
    if re.findall(regex,title.text):
      name = title.text
      x = [name,title['href']]
      menu.append(x)
      # 把記載有小說章節(jié)名和鏈接地址的列表插入列表中
  return menu,novel
def get_chapter(name,url):
  """Get every chapter in menu"""
  html=urllib2.urlopen(url).read()
  soup=BeautifulSoup(html)
  content=soup.find_all('p') # 提取小說正文
  return content[0].text
if __name__=="__main__":
  url=raw_input("""Input the main page's url of the novel in ZhuLang\n    Then Press Enter to Continue\n""")
  if url:
    menu,title=get_menu(url)
    print title,str(len(menu))+'\n   Press Enter To Continue  \n' 
    # 輸出獲取到的小說名和章節(jié)數(shù)
    for i in menu:
      chapter=get_chapter(i[0],i[1])
      raw_input()
      print '\n'+i[0]+'\n'    
      print chapter
      print '\n'

希望本文所述對大家的Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • python線程池ThreadPoolExecutor,傳單個參數(shù)和多個參數(shù)方式

    python線程池ThreadPoolExecutor,傳單個參數(shù)和多個參數(shù)方式

    這篇文章主要介紹了python線程池ThreadPoolExecutor,傳單個參數(shù)和多個參數(shù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 對python過濾器和lambda函數(shù)的用法詳解

    對python過濾器和lambda函數(shù)的用法詳解

    今天小編就為大家分享一篇對python過濾器和lambda函數(shù)的用法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python文件操作之合并文本文件內(nèi)容示例代碼

    Python文件操作之合并文本文件內(nèi)容示例代碼

    眾所周知Python文件處理操作方便快捷,下面這篇文章主要給大家介紹了關(guān)于Python文件操作之合并文本文件內(nèi)容的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-09-09
  • python將回車作為輸入內(nèi)容的實(shí)例

    python將回車作為輸入內(nèi)容的實(shí)例

    今天小編就為大家分享一篇python將回車作為輸入內(nèi)容的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Python實(shí)現(xiàn)笑臉檢測+人臉口罩檢測功能

    Python實(shí)現(xiàn)笑臉檢測+人臉口罩檢測功能

    這篇文章主要介紹了Python實(shí)現(xiàn)笑臉檢測+人臉口罩檢測,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • Python計(jì)算IV值的示例講解

    Python計(jì)算IV值的示例講解

    今天小編就為大家分享一篇Python計(jì)算IV值的示例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python中super函數(shù)用法實(shí)例分析

    Python中super函數(shù)用法實(shí)例分析

    這篇文章主要介紹了Python中super函數(shù)用法,結(jié)合實(shí)例形式詳細(xì)分析了Python中super函數(shù)的功能、調(diào)用父類相關(guān)原理、操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2019-03-03
  • 如何以Winsows Service方式運(yùn)行JupyterLab

    如何以Winsows Service方式運(yùn)行JupyterLab

    這篇文章主要介紹了如何以Winsows Service方式運(yùn)行JupyterLab的教程
    2020-08-08
  • python 示例分享---邏輯推理編程解決八皇后

    python 示例分享---邏輯推理編程解決八皇后

    八皇后問題,是一個古老而著名的問題,是回溯算法的典型案例。該問題是國際西洋棋棋手馬克斯·貝瑟爾于1848年提出:在8X8格的國際象棋上擺放八個皇后,使其不能互相攻擊,即任意兩個皇后都不能處于同一行、同一列或同一斜線上,問有多少種擺法。
    2014-07-07
  • Python協(xié)程的四種實(shí)現(xiàn)方式總結(jié)

    Python協(xié)程的四種實(shí)現(xiàn)方式總結(jié)

    今天繼續(xù)給大家介紹Python關(guān)知識,本文主要內(nèi)容是Python協(xié)程的四種實(shí)現(xiàn)方式。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-01-01

最新評論