学习 Python 爬虫,手把手通过 Python 入门爬取网页信息

Python 爬虫是什么?

我们在网络上收集资料的过程其实就称之为爬虫(web scraping)。复制粘贴歌词、摘抄文本或数据都可以算作爬虫的一部分,但网络编程背景下的爬虫,更强调自动化,通过 Python 编程实现自动爬取资源,从而减少人力资源与精力消耗,提高效率。

注:在动手爬虫之前,程序员们还是需要考虑一些法律相关的问题。一般而言,开源或教育相关用途的爬虫并不会触及法律问题,但若用作其他商业用途或涉及一些敏感事物,爬虫也可能涉及违反服务条款甚至其他法律纠纷。同样地,有些网站也会避免爬虫而通过其他手段提高安全门槛。

在法律允许的范围内,学习使用 Python 实现自动化爬虫能让大家在资讯纷杂的网络世界中,快速地收集自己所需的资料。这篇文章将通过虚构的求职网站 Fake Python以及使用Lightly展示完整的项目代码,引导大家在无需安装第三方软件的情况下,动手在浏览器中编写代码,了解 Python 爬虫。

Lightly 爬虫项目代码:https://538cd3972a-share.lightly.teamcode.com

了解网站的基础结构

在开始编写 Python 代码前,合格的程序员还是需要具备基础的网页知识。在这里打开教程中所使用的网页:https://realpython.github.io/fake-jobs/

右键点击“查看页面源代码”,打开后将展示网页的 HTML 代码。

除了右键查看外,使用 Windows 的同学也可以通过 Ctrl + Shift + I (MacOS: Cmd + Alt + I)的方式调动开发人员工具,在“元素”中查看源代码。使用开发人员工具可以折叠或展开代码,也可以根据鼠标悬浮展示代码在网页中所对应的内容。

在 Python 爬虫中,同学们无需被纷乱的 HTML 代码劝退。一般而言,我们可以关注 id / class 等元素,从中找到对应的分组,即可借用PythonLightly IDE,从这些代码中分析出我们所需的内容。

先行准备:安装 requests 及 BeautifulSoup 库

初次使用 Lightly 或此前未安装 requests 及 bs4 库的同学,在开始编写项目代码前需在终端通过 pip install requests 以及 pip install bs4 分别安装依赖

若此前忘了安装,使用 Lightly 的同学也可以通过 QuickFix 的方式,一键安装缺失依赖

手把手实操 Python 爬虫

通过 Lightly 快照中的 Python 项目代码,复制到个人项目中进行学习:https://538cd3972a-share.lightly.teamcode.com

如何打开并编辑他人用 Lightly 分享的项目?

注:快照复制到个人项目后,任何修改都不会影响到原本的快照链接,同学们可放心对自己的代码进行修改,也可以随时通过快照链接再次查看源代码。

Lightly Python 爬虫实操项目代码中,分成多个章节通过代码中的注释讲解 BeautifulSoup 中的各个元素。

完成学习后的输出效果如下:

爬虫的挑战

此次爬虫中所使用的练习网站较为简单,但也展示了基础 Python 爬虫中需要具备的知识与应用。现实使用的网页或许会比练习中的网页更为复杂,不同编程人员所使用的编程语言、风格、安全系数等都有可能影响爬虫的难易度。

此外,对于信息更新较为频繁的网站而言,大家在学习爬虫的过程中也有可能发现每次运行的内容都可能出现变化。若网站的改动较大,过去所建立好的爬虫代码就有可能失效。因此,学习 Python 爬虫是一个常练常新的过程。在法律法规允许的范围内,进一步通过已习得的技巧多加练习与交流,才能真正地将爬虫作为有利于自己的工具,增进工作效率与个人能力。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容