最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

具體實現(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程序設計有所幫助。

相關文章

  • Python下調(diào)用Linux的Shell命令的方法

    Python下調(diào)用Linux的Shell命令的方法

    有時候難免需要直接調(diào)用Shell命令來完成一些比較簡單的操作,這篇文章主要介紹了Python下調(diào)用Linux的Shell命令的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • python單例模式的多種實現(xiàn)方法

    python單例模式的多種實現(xiàn)方法

    這篇文章主要介紹了python單例模式的多種實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • 詳解Python?itertools模塊中starmap函數(shù)的應用

    詳解Python?itertools模塊中starmap函數(shù)的應用

    starmap是一個非常有用的函數(shù),它屬于itertools模塊中的一部分,本文將詳細介紹starmap函數(shù)的作用、用法以及實際應用場景,希望對大家有所幫助
    2024-03-03
  • Python編寫車票訂購系統(tǒng)?Python實現(xiàn)快遞收費系統(tǒng)

    Python編寫車票訂購系統(tǒng)?Python實現(xiàn)快遞收費系統(tǒng)

    這篇文章主要為大家詳細介紹了Python編寫車票訂購系統(tǒng),Python實現(xiàn)快遞收費系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Starship定制shell提示符實現(xiàn)信息自由

    Starship定制shell提示符實現(xiàn)信息自由

    這篇文章主要介紹了Starship定制shell提示符的實現(xiàn),讓你需要的所有信息觸手可及,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-03-03
  • Python字典簡介以及用法詳解

    Python字典簡介以及用法詳解

    字典(dictionary)是除列表意外python之中最靈活的內(nèi)置數(shù)據(jù)結(jié)構(gòu)類型。列表是有序的對象結(jié)合,字典是無序的對象集合。兩者之間的區(qū)別在于:字典當中的元素是通過鍵來存取的,而不是通過偏移存取。
    2016-11-11
  • 通過代碼簡單了解django model序列化作用

    通過代碼簡單了解django model序列化作用

    這篇文章主要介紹了通過代碼簡單了解django model序列化作用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • python中PyQuery庫用法分享

    python中PyQuery庫用法分享

    在本篇文章里小編給大家整理了一篇關于python中PyQuery庫用法內(nèi)容,有興趣的朋友們參考下。
    2021-01-01
  • python字符串連接方法分析

    python字符串連接方法分析

    這篇文章主要介紹了python字符串連接方法,結(jié)合實例形式對比分析了常用的字符串連接技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2016-04-04
  • Python 完美解決 Import “模塊“ could not be resolved ...的問題

    Python 完美解決 Import “模塊“ could not&n

    這篇文章主要介紹了Python 完美解決 Import “模塊“ could not be resolved ...,本文給大家分享問題原因及解決方法,需要的朋友可以參考下
    2022-11-11

最新評論

邻水| 蕲春县| 五大连池市| 鄂尔多斯市| 乌兰县| 襄城县| 自贡市| 大冶市| 商丘市| 刚察县| 曲松县| 乐业县| 友谊县| 留坝县| 辉南县| 洛川县| 沿河| 阜南县| 纳雍县| 宜川县| 安庆市| 张家界市| 怀化市| 连南| 平湖市| 海口市| 无极县| 黑山县| 江安县| 江安县| 安宁市| 永州市| 繁昌县| 高安市| 九台市| 石首市| 巨鹿县| 客服| 安岳县| 无为县| 六枝特区|