刚开始接触爬虫的时候,简直惊为天人,十几行代码,就可以将无数网页的信息全部获取下来,自动选取网页元素,自动整理成结构化的文件。

利用这些数据,可以做很多领域的分析、市场调研,获得很多有价值的信息。这种技能不为我所用实在可惜,于是果断开始学习。

最近开始整理python的资料,会陆续放到博客中存档。找了几个qq群,其中有一个QQ群302521268。后面就没怎么加群了,还是需要看官方文档为主

- -并非开始都是最容易的

刚开始对爬虫不是很了解,又没有任何的计算机、编程基础,确实有点懵逼。从哪里开始,哪些是最开始应该学的,哪些应该等到有一定基础之后再学,也没个清晰的概念。

因为是 Python 爬虫嘛,Python 就是必备的咯,那先从 Python 开始吧。于是看了一些教程和书籍,了解基本的数据结构,然后是列表、字典、元组,各种函数和控制语句(条件语句、循环语句)。

学了一段时间,才发现自己还没接触到真正的爬虫呢,而且纯理论学习很快就忘了,回去复习又太浪费时间,简直不要太绝望。把 Python 的基础知识过了一遍之后,我竟然还没装一个可以敲代码的IDE,想想就哭笑不得。

- -开始直接上手

转机出现在看过一篇爬虫的技术文章后,清晰的思路和通俗易懂的语言让我觉得,这才是我想学的爬虫。于是决定先配一个环境,试试看爬虫到底是怎么玩的。(当然你可以理解为这是浮躁,但确实每个小白都想去做直观、有反馈的事情)

因为怕出错,装了比较保险的 Anaconda,用自带的 Jupyter Notebook 作为IDE来写代码。看到很多人说因为配置环境出各种BUG,简直庆幸。很多时候打败你的,并不是事情本身,说的就是爬虫配置环境这事儿。

遇到的另一个问题是,Python 的爬虫可以用很多包或者框架来实现,应该选哪一种呢?我的原则就是是简单好用,写的代码少,对于一个小白来说,性能、效率什么的,统统被我 pass 了。于是开始接触 urllib、美丽汤(BeautifulSoup),因为听别人说很简单。

我上手的第一个案例是爬取豆瓣的电影,无数人都推荐把豆瓣作为新手上路的实例,因为页面简单且反爬虫不严。照着一些爬取豆瓣电影的入门级例子开始看,从这些例子里面,了解了一点点爬虫的基本原理:下载页面、解析页面、定位并抽取数据。

当然并没有去系统看 urllib 和 BeautifulSoup 了,我需要把眼前实例中的问题解决,比如下载、解析页面,基本都是固定的语句,直接用就行,我就先不去学习原理了。

用 urllib 下载和解析页面的固定句式

当然 BeautifulSoup 中的基本方法是不能忽略的,但也无非是 find、get_text() 之类,信息量很小。就这样,通过别人的思路和自己查找美丽汤的用法,完成了豆瓣电影的基本信息爬取。

用 BeautifulSoup 爬取豆瓣电影详情

- -爬虫渐入佳境

有了一些套路和形式,就会有目标,可以接着往下学了。还是豆瓣,自己去摸索爬取更多的信息,爬取多部电影,多个页面。这个时候就发现基础不足了,比如爬取多个元素、翻页、处理多种情况等涉及的语句控制,又比如提取内容时涉及到的字符串、列表、字典的处理,还远远不够。

再回去补充 Python 的基础知识,就很有针对性,而且能马上能用于解决问题,也就理解得更深刻。这样直到把豆瓣的TOP250图书和电影爬下来,基本算是了解了一个爬虫的基本过程了。

BeautifulSoup 还算不错,但需要花一些时间去了解一些网页的基本知识,否则一些元素的定位和选取还是会头疼。

后来认识到 xpath 之后相见恨晚,这才是入门必备利器啊,直接Chrome复制就可以了,指哪打哪。即便是要自己写 xpath,以w3school上几页的 xpath 教程,一个小时也可以搞定了。requests 貌似也比 urllib 更好用,但摸索总归是试错的过程,试错成本就是时间。

requests+xpath 爬取豆瓣TOP250图书信息

- -跟反爬虫杠上了

通过 requests+xpath,我可以去爬取很多网站网站了,后来自己练习了小猪的租房信息和当当的图书数据。爬拉勾的时候就发现问题了,首先是自己的请求根本不会返回信息,原来要将自己的爬虫伪装成浏览器,终于知道别人代码中那一坨 headers 信息是干啥的了

零基础,是怎么开始写Python爬虫的相关推荐

  1. python写爬虫运行不了_python 打包运行不了零基础写python爬虫之爬虫的定义及URL构成...

    一.网络爬虫的定义 网络爬虫,即Web Spider,是一个很形象的名字. 把互联网比喻成一个蜘蛛网,那么Spider就是在网上爬来爬去的蜘蛛. 网络蜘蛛是通过网页的链接地址来寻找网页的. 从网站某一 ...

  2. python编程零基础-编程零基础应当如何开始学习 Python?

    看到问题关于<编程零基础应当如何开始学习 Python?>,其实是在Python未来会很火的一个基础条件下,但是我觉得光光说学习Pyhon这件事,你首先得明白三件事: --如何判断你学习编 ...

  3. 0基础学python-看完这篇,零基础也知道怎么学Python

    原标题:看完这篇,零基础也知道怎么学Python 近期 ,不少读者后台询问类似这样的一些问题 : 大佬 ,我是一个小白 ,很想学习 Python ,它能做些什么啊 ?您这边有什么好的入门建议吗 ? 坦 ...

  4. 编程软件python怎样开始学-编程零基础应当如何开始学习 Python?

    编程零基础应当如何开始学习Python 我觉得每个人学习新东西之前脑海里应该有个大致的地图和路径 比如学习编程,首先脑海里要比较清晰的思考寻找过下面几个问题的答案什么是编程 为什么学编程 编程可以干什 ...

  5. Python学习入门3:编程零基础应当如何开始学习Python?

    零基础学编程,用python入门是个不错的选择,虽然国内基本上还是以c语言作为入门开发语言,但在国外,已经有比较多的学校使用python作为入门编程语言. 具体怎么选择你的第一门编程语言可以看下图: ...

  6. 零基础学python-看完这篇,零基础也知道怎么学Python

    原标题:看完这篇,零基础也知道怎么学Python 近期 ,不少读者后台询问类似这样的一些问题 : 大佬 ,我是一个小白 ,很想学习 Python ,它能做些什么啊 ?您这边有什么好的入门建议吗 ? 坦 ...

  7. 零基础学员必看的python课程大纲

    零基础学员必看的python课程大纲,Python是一种面向对象的解释型计算机程序设计语言,纯粹的自由软件,适合没有编程基础的学员,其常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C+ ...

  8. 多迪技术部向你解答菜鸟如何能写python爬虫?

    作为一个零基础起步之前连python都不会,现在学习一段时间总算掌握基础,开始向上进阶的菜鸟, 多迪技术部向你解答菜鸟如何能写python爬虫? 难上手:刚开始对爬虫不是很了解,又没有任何的计算机.编 ...

  9. 学习python一开始枯燥_编程零基础应当怎样开始学python?他说,看这三个经典方法...

    很多时候,想就是不如做. 与其想着怎样开始学python,不如赶紧找份python教程先看起来! 当然,这只是告诉你,想不如开始做! 下面,我针对python初学介绍一下可以借鉴的方法! 1.看书 这 ...

  10. python网络爬虫教程-教你从零开始学会写 Python 爬虫

    原标题:教你从零开始学会写 Python 爬虫 写爬虫总是非常吸引IT学习者,毕竟光听起来就很酷炫极客,我也知道很多人学完基础知识之后,第一个项目开发就是自己写一个爬虫玩玩. 其实懂了之后,写个爬虫脚 ...

最新文章

  1. Unbalanced calls to begin/end appearance transitions for XXXX
  2. 【知识总结】回文自动机(Palindrome_Automaton)
  3. vue wabpack 切换开发环境 和生成环境 的接口地址
  4. 如何在项目中加入已存在的文件夹, 注意是文件夹而不是文件
  5. Python系统学习流程图, 教你一步步学习python
  6. 客户端通过SSH private key 登录远端服务器
  7. C#——后台管理端多级菜单的生成方式
  8. GMT时间转换为当地时间的方法
  9. 收尾决胜武器:软文常用的9个收尾方法
  10. layer弹出层笔记
  11. Pentium的保护工作方式
  12. 算法笔记--最短路径之dijkstra算法
  13. 【欧拉计划第 3 题】最大质因数 Largest prime factor
  14. 2022年胺基化工艺考试题库及答案
  15. 新手指南:到国外域名注册商注册域名
  16. rocket基础知识
  17. JAVA MemCache 史无前例的详细讲解【转】
  18. RabbitMQ 从入门到精通 消息应答 持久化 交换机 队列 发布确认 集群 等
  19. elasticsearch 基础 —— _mget取回多个文档及_bulk批量操作
  20. 方正web开发平台之Web安全

热门文章

  1. 计算机找单词嫌疑犯游戏纸境,纸境(Tengami)第一章怎么过_纸境(Tengami)第一章图文攻略_快吧单机游戏...
  2. 如何令电子邀请函设计变得与众不同?
  3. android设置theme红色主题,Android配置应用主题皮肤
  4. Android内涵段子评论无限点赞分析与刷赞App[已和谐]
  5. 重装系统后重启一直显示bootmenu,选择后一闪而过
  6. JAVA面试题2021最新整理——JAVA基础篇
  7. Java高级容器——集合
  8. Python爬取漫画之咒术回战
  9. 商战第二场视频:蒙牛爱心义卖活动
  10. 给所有年龄儿童的一台个人电脑