python使用requests+re简单入门爬虫

在学习了python基础后,一心想着快速入门爬虫,因为我就是为爬虫而学的python,所以就找了这个豆瓣电影来爬取。好了,废话不多说,进入正题

1.找到网页并分析网页结构

首先进入豆瓣电影Top250这个网页,按下f12打开开发者工具,如下图

然后开始分析网页,点击开发者工具左上角的有个箭头的东西去找你需要找的数据,在这里我发现每个电影的信息都是在<li>的标签内,所以可以用正则表达式来先提取每一个电影,然后在分别提取每个电影中的数据。每个电影现在的数据都可以获取了,但是这个url只有25个电影,怎样获取下一页的呢?这里我们可以在每个页面获取下一页的链接,然后通过循环来继续获取下一页的电影数据即可

我们可以先用开发者工具的箭头点一下后页,然后就显示右边的箭头数据出来,这里我们也可以用正则表达式来获取下一页的链接,然后接下来的工作就是循环了,好了分析结束,开始敲代码吧!

2.用面向对象的方法进行爬取数据

  • 先用requests对网页进行请求,获取网页的html结构,在这里,为了防止网页的反爬虫技术,我加了个请求头(记得使用requests库之前先导入,没有的可以在命令行通过 pip install requests 进行下载)

请求头在开发者工具中查看,如下图所示

  • 接下用正则表达式进行获取数据 先匹配每一个电影和每一页数据(使用正则表达式的库是re)

接下来获取每个电影的数据

注意:获取到上面的数据,有的是空的,所以还需要进行判断是否为空,为了好看,我用了三元表达式进行判断,完成之后把他们存入字典

  • 接下来就是进行循环取下一页的数据了

3.如果你有点数据库基础的话,还可以把他们存入数据库,在这里我把这些数据存入MySQL数据库,代码如下,需要自己先建好数据库好表格

  • 这是操作数据库的类(使用的库为pymysql)
  • 然后回到爬虫类进行把数据存入数据库

4.成功后你就会在数据库中查到以下数据

END

最后,非常感谢你看完了这篇文章,喜欢的话,可以点下关注,转发点赞下,或者有什么问题的话欢迎在留言区留言,我会认真回答的。

ps:如果需要完整代码的话可以在后台回复top250即可,或者想要什么学习资源也可以后台找我哦

原文发布于微信公众号 - 日常学python(daily_learn)

原文发表时间:2018-02-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java技术栈

十面阿里,菜鸟,天猫,蚂蚁金服题目总汇

虽然天猫,蚂蚁金,菜鸟都归属阿里旗下,但每个面试官问的问题都不一样,相同点主要在流程方面。

1632
来自专栏架构师小秘圈

设计和实现一款轻量级的爬虫框架

作者:王爵nice ,来自架构文摘(ID:ArchDigest) 说起爬虫,大家能够想起 Python 里赫赫有名的 Scrapy 框架, 在本文中我们参考这...

3525
来自专栏互联网开发者交流社区

Redis简介

1642
来自专栏非典型程序猿

Elasticsearch数据更新全方位解析

前段时间在项目的crm存储部分,为了满足大量自定义的搜索功能,选择了使用了ES作为后端存储介质。

2.5K12
来自专栏北京马哥教育

Python 开发者的 6 个必备库

来自:开源中国 协作翻译 链接: https://www.oschina.net/translate/6-essential-libraries-for-e...

4767
来自专栏Java技术栈

通用唯一标识码UUID的介绍及使用。

什么是UUID? UUID全称:Universally Unique Identifier,即通用唯一识别码。 UUID是由一组32位数的16进制数字所构成,是...

60915
来自专栏IT派

Python 新功能:或将允许安全工具查看运行时操作

针对 Python 编程语言的新功能提议之一是希望为运行时添加“透明度”,并让安全和审计工具查看 Python 何时可能运行潜在危险的操作。

1032
来自专栏IT平头哥联盟

webpack4配置详解之常用插件分享

  继上一次 webpack 的基础配置分享之后,本次将分享一些工作中项目常用的配置插件、也会包含一些自己了解过觉得不错的插件,如有分析不到位的,欢迎纠错,嗯,...

2330
来自专栏北京马哥教育

Python 开发者的 6 个必备库

https://www.oschina.net/translate/6-essential-libraries-for-every-python-develop...

1906
来自专栏nnngu

通俗易懂的分析如何用Python实现一只小爬虫,爬取拉勾网的职位信息

源代码:https://github.com/nnngu/LagouSpider ---- 效果预览 ? 思路 1、首先我们打开拉勾网,并搜索“java”,显示...

3715

扫码关注云+社区

领取腾讯云代金券