原标题:[专栏作家]【Python】爬虫程序 (一)

往往一提到爬虫程序,就感觉很高科技,一个带着大墨镜的家伙坐在满屏幕1010101010101...的电脑面前。然而,事实并非如此。——题记

何为爬虫程序?

所谓的爬虫程序,可以理解为只是让程序按照你所指定的规则方迅速的获取一些信息的程序,即,对某一行为的快速循环模仿。

举个栗子:

你是如何看见现在这篇文章的呢?是首先访问的蛮牛主页,点击作家专栏访问作家专栏页面,然后在列表中点击这篇文章才看见这篇文章。

而如果要用爬虫程序爬取这篇文章,就是让爬虫程序模拟你刚刚的操作,依次向蛮牛服务器发送请求,然后获取这篇文章。

也就是说,爬虫程序只能爬取的到,你手动点可以获取到的东西。

以下部分对python萌新略不友好,先解释一下,我引用了python的BeautifulSoup和requests两个非buildin的模块,需分别下载安装,百度有详细教程,不予赘述。

日前,我一小同学想做一个阅读器玩,需要大量的小说。我便随手使用python搓了一个:

思路:选择笔趣阁的全部小说页面为爬取的目标,因为在这一页面上可以获取全部小说总目录的url,然后,再获取每个章节的url,最后按照目录,逐个将小说的content写入本地txt。

code如下:

但是,我小同学想要完本的小说,网站上的完本并不多,并且总共只有3000本小说。于是乎,把爬取的目标转移到X点读书:

思路:与上方类似,从起点读书的完本页面开始爬,获取本页小说的url,递归获取下一页url,直到尾页。

code如下:

小细节:

1.发送的请求加上合法的头,以假装自己是真正的普通浏览器

2.请求需要有一定的时间间隔,否则可能会被发现

time.sleep(0.1)

3.python的for循环默认999为上限,有些长篇小说动辄上千章,需要手动设置上限,我设的是一百万次

sys.setrecursionlimit(1000000)

4.由于是以文件存储,所以 /:*?“<>|等这些特殊字符是不能用于文件名的,需要剔除掉(因为发现真的有用特殊字符做标题的文章)

name=s.string.replace(' ','_').replace(':',':').replace('', '').replace('/', '').replace('*', '').replace('?','').replace('"','').replace('>','').replace('

责任编辑:

python爬虫的具体流程_[专栏作家]【Python】爬虫程序 (一)相关推荐

  1. unity python做热更_[专栏作家]基于ILRuntime的完整C#热更方案

    原标题:[专栏作家]基于ILRuntime的完整C#热更方案 好久不见.最近一段时间公司二次创业,实在是忙的脚打后脑勺,有段时间没来跟大家分享心得了,昨天终于有了一个初步的完结,也终于有时间和精力跟大 ...

  2. 网络爬虫python的特点有哪些_为什么写网络爬虫天然就是择Python而用

    关于这个问题,老猿就先从自己的经历讲起吧.很多年前,大约11年前,老猿我接手了一个搜索引擎的网络爬虫,那是一个用C++写的通用搜索引擎的爬虫.C++的语言,多线程的实现,爬虫的运行效率非常高.但是,找 ...

  3. unity怎么在文本中修改字体_[专栏作家]UGUI中CustomFont字体使用与制作

    原标题:[专栏作家]UGUI中CustomFont字体使用与制作 前言: 如何在UGUI中使用自定义的数字图片.在开发过程中,美术同学会给出类似艺术数字图片如下图: 那在UGUI系统中如何使用呢? U ...

  4. 慕课网python零基础入门教程_零基础Python爬虫入门学习一之综述

    原标题:零基础Python爬虫入门学习一之综述 大家好哈,最近博主在学习Python,学习期间也遇到一些问题,获得了一些经验,在此将自己的学习系统地整理下来,如果大家有兴趣学习爬虫的话,可以将这些文章 ...

  5. python语言中运算符号_详细介绍Python语言中的按位运算符

    <从问题到程序:用Python学编程和计算>--2.11 补充材料 本节书摘来自华章计算机<从问题到程序:用Python学编程和计算>一书中的第2章,第2.11节,作者:裘宗燕 ...

  6. python wx窗口无法关闭_菜鸟学Python,双手奉上老司机给上路新手总结的Python实战问题…...

    针对Python这一话题每天后台都会有不少小伙伴提出问题,下面我就将这些问题进行汇整,产出"Python实战问题篇",我认为这些问题非常具有代表性,希望可以帮到大家. 第一类问题: ...

  7. python语言学完后学什么_学完Python语言可以做什么?发展前景怎么样?

    Python是一门高级的编程语言,其语言功能强大.语法简单.上手容易,因此受到了不少人的喜欢.而对于学习一门语言,很多人最看重的就是,学习之后可以做什么?有哪些岗位?薪资待遇如何?为大家详细的讲解一下 ...

  8. python如何初始化对象数组_如何理解Python中的面向对象编程?

    (由Python大本营付费下载自视觉中国) 作者 | Radek Fabisiak 译者 | 弯月,责编 | 郭芮 出品 | CSDN(ID:CSDNnews) 现如今面向对象编程的使用非常广泛,本文 ...

  9. python交互式编程在哪里_终于明了python交互式编程入门

    Python是一款功能强大的脚本语言,具有丰富和强大的库,重要的是,它还具有很强的可读性,易用易学,非常适合编程初学者入门.以下是小编为你整理的python交互式编程入门 环境配置:下载Python并 ...

最新文章

  1. 【转】POJ 1177 Picture(1)
  2. Linux内核的namespace机制分析
  3. hdu4862 费用流(不错)
  4. IOS Push 证书的重新生成
  5. 功率谱 幅值谱_疲劳损伤谱(FDS)的基本原理
  6. firefox 插件 取消认证签名
  7. 解决 mysql 树形结构插入数据查询死循环问题
  8. 5.7和5.6的mysql_mysql5.6与5.7版本的区别
  9. 面料经纬向、正反面判别方法
  10. 黑马程序员传智播客 进程、线程、协程对比
  11. 工业互联网常用无线通信协议介绍(详细版)
  12. Matlab求解点到直线距离
  13. Ubuntu20.04开启wifi热点
  14. 大数据背景下互联网用户行为分析
  15. js日期转换成时间戳
  16. origin和matlab的异同,origin和matlab
  17. HTML学习总结 基础篇 图像标签imag的使用及其属性
  18. C++习题 倒置排序 OpenJudge
  19. 原生Js通过class属性值获取对象
  20. Artificial Intelligence Computer Vision ML and DL

热门文章

  1. python watchdog_Python watchdog
  2. Python爬虫项目---从wiley网站批量下载文章
  3. C++ 各种数据类型转换总结(不断更新中.....)
  4. 自建lol服务器,终于干正事了?英雄联盟宣布:艾欧尼亚服务器将进行扩容
  5. python图书管理系统增删改查_图书管理系统---增删改查
  6. python gui编程 自动化框架_使用Python进行GUI操作自动化
  7. Python文件(一):文件类型、文件的打开,读取写入,关闭、文件备份、文件和文件夹的操作
  8. mpandroidchart 设置x轴数据_Flowjo软件下的流式数据基本分析
  9. 可穿戴设备的主流传感器介绍
  10. python esp8266_浅谈MircoPython---ESP8266