用PYTHON爬虫简单爬取网络小说的示例

  介绍

这篇文章主要介绍用PYTHON爬虫简单爬取网络小说的示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

用PYTHON爬虫简单爬取网络小说。

这里是17 k小说网上,随便找了一本小说,名字是《千万大奖》。

里面主要是三个函数:

1, get_download_url()用于获取该小说的所有章节的URL。

分析了该小说的目录页http://www.17k.com/list/2819620.html的HTML源码,发现其目录是包含在卷里的一个标签合集,所以就提取出了URL列表。

2, get_contents(目标)用于获取小说指定章节的正文内容

分析了小说中第一章节的页面http://www.17k.com/chapter/2819620/34988369.html,发现其正文内容包含在标页签中,正文标题包含在H1标签中,经过对换行等处理,得到正文内容。传入参数是上一函数得到的URL。

3,作家(名称、路径、文本)用于将得到的正文内容和章节标题写入到千万大奖。txt

理论上,该简单爬虫可以爬取该网站的任意小说。

得到bs4  import  BeautifulSoup   import 请求,系统   & # 39;& # 39;& # 39;   遇到不懂的问题? Python学习交流群:821460695满足你的需求,资料都已经上传群文件,可以自行下载!   & # 39;& # 39;& # 39;   目标=& # 39;http://www.17k.com/list/2819620.html& # 39;   服务器=& # 39;http://www.17k.com& # 39;   url=[]      def  get_download_url ():   ,,,req =, requests.get (=url 目标)   ,,,html =req.text   ,,,div_bf =, BeautifulSoup (html、& # 39; lxml # 39;)   ,,,div =, div_bf.find_all (& # 39; dl # 39;,, class_ =, & # 39;卷# 39;)   ,,,a_bf =, BeautifulSoup (str (div [0]), & # 39; lxml # 39;)   ,,,a =, a_bf.find_all(& # 39;一个# 39;)   ,,,for  each 拷贝(1:):   ,,,,,,,urls.append(时间+ server  each.get (& # 39; href # 39;))         def  get_contents(目标):   ,,,,,,,req =, requests.get (=url 目标)   ,,,,,,,html =req.text   ,,,,,,,bf =, BeautifulSoup (html、& # 39; lxml # 39;)   ,,,,,,,title=bf.find_all (& # 39; div # 39;,, class_ =, & # 39; readAreaBox 内容# 39;)   ,,,,,,,title_bf =, BeautifulSoup (str(标题[0]),& # 39;lxml # 39;)   ,,,,,,,title =, title_bf.find_all (& # 39; h2 # 39;)   ,,,,,,,title=str(标题[0]).replace (& # 39; & lt; h2> & # 39;, & # 39; & # 39;)   ,,,,,,,title=str(标题).replace (& # 39; & lt;/h2> & # 39;, & # 39; & # 39;)   ,,,,,,,title=str(标题).replace (& # 39;, & # 39;, & # 39; & # 39;)   ,,,,,,,title=str(标题).replace (& # 39; \ n # 39; & # 39; & # 39;)   ,,,,,,,texts =, bf.find_all (& # 39; div # 39;,, class_ =, & # 39; p # 39;)   ,,,,,,,短信=str(文本).replace (& # 39; & lt; br/祝辞& # 39;,& # 39;\ n # 39;)   ,,,,,,,=文字[:texts.index(& # 39;本书首发来自17 k小说网,第一时间看正版内容! & # 39;))   ,,,,,,,短信=str(文本).replace (& # 39;,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,& # 39;& # 39;& # 39;)   ,,,,,,,return 标题、str(文本(len (& # 39; [& lt; div 类=皃"祝辞& # 39;):])      def 作家(名称,路径,文本):   ,,,,,,,write_flag =,真的   ,,,,,,,with 开放(路径,& # 39;一个# 39;,,编码=& # 39;utf - 8 # 39;), as  f:   ,,,,,,,,,,,f.write(时间+ name  & # 39; \ n # 39;)   ,,,,,,,,,,,f.writelines(文本)   ,,,,,,,,,,,f.write (& # 39; \ n # 39;)         #标题、内容=get_contents(目标)   #打印(标题、内容)   #作家(标题,标题+“.txt"、内容)   get_download_url ()   #打印(url)   i=1   for  url  url拷贝:   ,,,标题,内容=get_contents (url)   ,,,作家(标题,“千万大奖.txt",内容)   ,,,print (str (int len (url) * 100 (i/)) +“%”)   ,,,我+=1

以上是用PYTHON爬虫简单爬取网络小说的示例的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

用PYTHON爬虫简单爬取网络小说的示例