小羊学编程之Python爬虫实例
导读:本文共1114字符,通常情况下阅读需要4分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要:Python爬虫学习了一些时间,今天看到某网的文章,平时只是一部分一部分复制粘贴,有时甚至不让复制。于是想利用Python爬虫下载文章保存到本地。哈哈。为了便于学习理解,直接上代码加注释。重点学习稳中有降模块的用法。from urllib.request import urlopenfrom bs4 import BeautifulSoup #Beautiful Soup 是一个可以从HT... ...
目录
(为您整理了一些要点),点击可以直达。Python爬虫学习了一些时间,今天看到某网的文章,平时只是一部分一部分复制粘贴,有时甚至不让复制。于是想利用Python爬虫下载文章保存到本地。哈哈。为了便于学习理解,直接上代码加注释。重点学习稳中有降模块的用法。
from urllib.request import urlopen
from bs4 import BeautifulSoup #Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库
import html5lib #html5lib 是一个 Ruby和 Python用来解析 HTML文档的类库,支持HTML5
import time # Python time时间模块
import os
import requests #requests是python的一个HTTP客户端库
from time import sleep #,使用sleep函数可以让程序休眠延时。
def Download_Novel(html): #定义一个下载文章函数。
bsObj=BeautifulSoup(html,'html5lib') #利用BeautifulSoup析html页面
chapter=bsObj.find("p",{"class","read-content j_readContent"}) #获取文章内容
title=bsObj.find("",{"class","j_chapterName"}) #获取文章标题。
print (chapter.get_text()) #打印出文章内容。
print (title) #打印出文章标题。
fo=open("d:/001.txt","a") #打开文件
fo.write(chapter.get_text())#写入文件
fo.close #close()方法用于关闭一个已打开的文件
bsoup=bsObj.find("a",{"id":"j_chapterNext"}) #获取下一章节文章内容
html2="http:"+bsoup.get('href')+""#获取下一章节文章URL
return (urlopen(html2))
html=urlopen("https://xxxxxxxxxx/chapter/5889870403237101/15810501355231395")
i=1
while(i<10): #下载章节数目
html=Download_Novel(html)
i=i+1
start = time.time() #程序运行开始时间
Download_Novel(html)
sleep(1) #让程序延时
c = time.time() - start #程序运行结束时间
print('保存文章结束,运行共耗时:%0.2f'%(c))
运行结果如下图:
文件内容保存到D盘的001.txt文件中。
文中不妥之处请朋友们指正!谢谢
小羊学编程之Python爬虫实例的详细内容,希望对您有所帮助,信息来源于网络。