欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

python實現爬蟲抓取小說功能示例【抓取金庸小說】

系統 1776 0

本文實例講述了python實現爬蟲抓取小說功能。分享給大家供大家參考,具體如下:

            
# -*- coding: utf-8 -*-
from bs4 import BeautifulSoup
from urllib import request
import re
import os,time
#訪問url,返回html頁面
def get_html(url):
  req = request.Request(url)
  req.add_header('User-Agent','Mozilla/5.0')
  response = request.urlopen(url)
  html = response.read()
  return html
#從列表頁獲取小說書名和鏈接
def get_books(url):#根據列表頁,返回此頁的{書名:鏈接}的字典
  html = get_html(url)
  soup = BeautifulSoup(html,'lxml')
  fixed_html = soup.prettify()
  books = soup.find_all('div',attrs={'class':'bbox'})
  book_dict = {}
  for book in books:
    book_name = book.h3.a.string
    book_url = book.h3.a.get('href')
    book_dict[book_name] = book_url
  return book_dict
#根據書名鏈接,獲取具體的章節{名稱:鏈接} 的字典
def get_parts(url):
  html = get_html(url)
  soup = BeautifulSoup(html,'lxml')
  fixed_html = soup.prettify()
  part_urls = soup.find_all('a')
  host = "http://www.xiaoshuotxt.org"
  part_dict = {}
  for p in part_urls:
    p_url = str(p.get('href'))
    if re.search(r'\d{5}.html',p_url) and ("xiaoshuotxt" not in p_url):
      part_dict[p.string] = host + p_url
  return part_dict
#根據章節的url獲取具體的章節內容
def get_txt(url):
  html = get_html(url)
  soup = BeautifulSoup(html,'lxml')
  fixed_html = soup.prettify()
  title = soup.h1.string #獲取文章標題
  content = soup.find('div',attrs={'class':'zw'})
  txt = BeautifulSoup.get_text(content) #正文內容
  return txt
if __name__ == "__main__":
  root_dir= r'e:\books'
  #url = 'http://www.xiaoshuotxt.org/mingzhu/index_2.html' #第2頁的小說
  url = "http://www.xiaoshuotxt.org/writer/58" #金庸的小說
  books = get_books(url)
  for book_name,book_url in books.items():
    os.mkdir(os.path.join(root_dir,book_name))
    part_dict = get_parts(book_url)
    print(book_name,"共:",len(part_dict),"章節")
    for part_name,part_url in part_dict.items():
      print("正在保存:",part_name)
      f1 = open(r'e:\books\%s\%s.txt'%(book_name,part_name),'w',encoding='utf-8')#以utf-8編碼創建文件
      part_txt = get_txt(part_url)
      f1.write(str(part_txt))
      f1.close()
      time.sleep(2)


          

運行效果:

python實現爬蟲抓取小說功能示例【抓取金庸小說】_第1張圖片

更多關于Python相關內容可查看本站專題:《Python Socket編程技巧總結》、《Python正則表達式用法總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》

希望本文所述對大家Python程序設計有所幫助。


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲精品免费观看 | 91看片在线看片 | av网址在线播放 | 一区二区国产在线观看 | 国产正在播放 | 男女生性毛片免费观看 | 夜色成人网 | 最近免费日本视频在线 | 操天天操| 午夜国产精品视频在线 | 中文字幕亚洲欧美 | 国产欧美成人 | 日韩亚洲欧美中文高清在线 | 国产福利一区二区在线精品 | 欧美视频在线观看一区二区 | 蜜桃官网 | 精品国产一区三区 | 男进女内免费视频无遮挡 | 亚洲欧美一区二区三区国产精品 | 欧美精品亚洲 | 久草在线观看首页 | 香蕉久草在线 | 欧美在线不卡视频 | 日韩精品无码一区二区三区 | 国产福利在线观看永久免费 | 91精品天美精东蜜桃传媒入口 | 99热在线播放 | 久久久9999久久精品小说 | 色在线免费 | 成人免费一区二区三区视频软件 | 久草影视网| 毛片99| 国产91在线观看 | 国产片翁熄系列乱在线视频 | 久久综合九色综合欧美狠狠 | 欧美三级a| 国产精品日本一区二区不卡视频 | 一级免费视频 | 亚洲三级视频 | 久久cao| 99在线这精品视频 |