需求:

抓取某些网站上的小说,按页抓取

每页都有next 按钮,获取这写next 按钮的 href 然后 就可以逐页抓取

解析网页使用beautisoup

from bs4 import BeautifulSoup
import urllib2
import timeimport sys#http://www.vc.com/htm/2016/12/24/t02/367246.html
host_name = 'http://www.vc.com'def html_process(html_file,url):'''use bs to get the titile && contain && next link from html_file'''global host_name#soup = BeautifulSoup(open(html_file),"html_parser")soup = BeautifulSoup(html_file,"html.parser")#####################################################text = '/dev/shm/novel.txt'file = open(text,'a')file.write('######################################')file.write('\r\n' + url + '\r\n')######################################################get titletitle_ret = soup.title.string.split('-')[0].strip()file.write('\r\n@# '+ title_ret+ '\r\n')######################################################get contextfile.write( soup.find("div",id='view2').get_text() + '\r\n')file.close()######################################################get next hreflink = soup.find_all("li",class_ = "next")[0]if None == link:print 'next link is None'exit(0)next_href = host_name + link.a['href'] return next_hrefdef html_get(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)try:page = urllib2.urlopen(req,timeout=20).read()return pageexcept urllib2.URLError,e:print "error while loading" + urlexit(1)except socket.timeout:#do retryreturn html_get(url)def test(url):while None != url:html_file = html_get(url)if None == html_file:print 'ERROR OF READING ',urlexit(1)url = html_process(html_file,url)time.sleep(5)if __name__ == '__main__':reload(sys)sys.setdefaultencoding( "utf-8" )#start up url test("http://www.vc.com/htm/2013/11/2/t02/316551.html")

转载于:https://www.cnblogs.com/shaivas/p/6218227.html

一个逐页抓取网站小说的爬虫相关推荐

  1. cefsharp内嵌资源html的读取,C#(csharp)用CefSharp开发实现一个浏览器,抓取网站任意资源...

    前言: 不少网站会保护自己,防止别人下载图片. 因此下载器,先后改了好几次,不断技术升级. 早期 用WebClient 下载 HTML 分析 URL 下载. 后来 为了下载 手机网站的图片,用上了 U ...

  2. java爬虫抓取起点小说_爬虫实践-爬取起点中文网小说信息

    qidian.py: import xlwt import requests from lxml import etree import time all_info_list = [] def get ...

  3. JAVA爬虫进阶之springboot+webmagic抓取顶点小说网站小说

    闲来无事最近写了一个全新的爬虫框架WebMagic整合springboot的爬虫程序,不清楚WebMagic的童鞋可以先查看官网了解什么是Webmagic,顺便说说用springboot时遇到的一些坑 ...

  4. python抓取网站88titienmae88中的“图片区”的第一页的所有图片

    #-*-coding:utf-8-*- from urllib.request import urlopen, urlretrieve from bs4 import BeautifulSoup im ...

  5. 使用java的html解析器jsoup和jQuery实现一个自动重复抓取任意网站页面指定元素的web应用...

    在线演示  本地下载 如果你曾经开发过内容聚合类网站的话,使用程序动态整合来自不同页面或者网站内容的功能肯定对于你来说非常熟悉.通常使用java的话,我们都会使用到一些HTML的解析,例如,httpp ...

  6. Java抓取起点小说输出到本地文件夹和数据库

    Java抓取起点小说输出到本地文件夹和数据库 目录 项目结构 所需插件 项目代码 输出结果 目录 项目结构 第一次写网络爬虫,参考了别人的,也自己理解了用法 所需插件 因为使用了mevan,直接上po ...

  7. Python爬虫小偏方:如何用robots.txt快速抓取网站?

    作者 | 王平,一个IT老码农,写Python十年有余,喜欢分享通过爬虫技术挣钱和Python开发经验. 来源 | 猿人学Python 在我抓取网站遇到瓶颈,想剑走偏锋去解决时,常常会先去看下该网站的 ...

  8. python抓取网站乱码_如何使用Python抓取网站

    python抓取网站乱码 by Devanshu Jain 由Devanshu Jain It is that time of the year when the air is filled with ...

  9. 【python】python异步抓取网站数据【详细过程】

    项目介绍 askWeb/index.py 网站爬取数据类 database/index.py 数据库类(数据库封装) utils/index.py 工具文件 main.py 项目入口文件 1.main ...

最新文章

  1. 清华博士接亲被要求现场写代码,网友:真是面向对象编程!
  2. java Servlet Filter 拦截Ajax请求,统一处理session超时的问题
  3. centos7下使用yum安装mysql
  4. TCP协议面试灵魂10问 | 强势整理
  5. 【HDU - 3342】Legal or Not(拓扑排序)
  6. zabbix监控pppoe线路_Zabbix 完整的监控流程
  7. 馒头何瑫写作训练营的学习笔记总结
  8. android 串口通信丢包,新手求教为什么串口接收数据总丢包
  9. 【洛谷】【堆+贪心】P1484 种树
  10. C# list常用的几个操作 改变list中某个元素的值 替换某一段数据 删除集合中指定对象
  11. python爬虫代码示例视频教学-清华学霸尹成Python爬虫教学视频
  12. 联想Thinkpad sl400 7HC入手感觉
  13. 各种统计检验及r语言实现
  14. phalapi做登录检测_Phalapi使用教程
  15. 分享Nexus桌面插件的安装及使用,超级好看、好用的插件。附下载链接。
  16. 中南大学邮箱客户端手动配置
  17. 计算机控制系统设计题例题,计算机控制系统练习题..doc
  18. 多张图片合成一张jpg工具_简单实用!3个手机拼图APP,让多张图片变为1张!
  19. linux系统编程之管道(三):命名管道FIFO和mkfifo函数
  20. raptor输入n个数据排序_常人或许不知晓的苹果Iphone输入法N个快捷录入技巧

热门文章

  1. 请问基友,基金转换需要多长时间?
  2. 怎样做到“不说服客户,只拒绝客户”?
  3. 白岩松曾说过这样一段话
  4. 怎么判断自己是不是备胎 ?
  5. 你觉得一个人有几个手机号合适?
  6. It was in 2006, and as a desktop computer
  7. C语言实现字符串转整型
  8. 对于数据给定范围sql取数_SQL Server中的报表–根据给定日期范围内提取的数据创建图表
  9. ssrs 生成pdf_在SSRS报告中生成热图的可用选项
  10. 【学习】024 springCloud