专栏首页日常学pythonpython使用requests+re简单入门爬虫

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),作者:sergiojune

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 今天来认识下数据库

    这是我的第七篇原创文章 爬了数据,只能放在记事本上?小的数据还是可以的,但是当你遇到较多的数据,放在记事本上就不是很好了,这时就需要用到数据库来存储了,那我们今...

    sergiojune
  • 情人节福利,手把手教你学会mysql语句操作

    这是我的第八篇原创文章 上篇文章简单说了下数据库,并教了怎样安装mysql工具和可视化工具,不知道你现在安装好了没?那今天我们继续说mysql,今天说下mysq...

    sergiojune
  • 利用python爬取网易云音乐,并把数据存入mysql

    这是我的第四篇原创文章 在简单学习了python爬虫后,又想继续折腾,进而找到了这个网易云音乐,因为本人平时就是用它听的歌,也喜欢看歌里的评论,所以就爬网易云...

    sergiojune
  • Q&A第二辑|你最关心的云开发问题都在这了

    关于小程序使用云开发很多小伙伴有不少疑问,Q&A第二辑还是汇总了几个比较常见的问题,在这里一一为大家解答一下。

    腾讯云开发TCB
  • 接雨水 & 最大点

    给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) ...

    羽翰尘
  • 百度笔试题目

    http://blog.csdn.net/liuzhanchen1987/article/details/7987985

    bear_fish
  • Github标星24.9k!适合初学者的有趣、入门级的开源项目

    仓库地址:https://github.com/521xueweihan/HelloGitHub

    黄博的机器学习圈子
  • Github标星24.9k!适合初学者的Python&机器学习开源项目

    仓库地址:https://github.com/521xueweihan/HelloGitHub

    统计学家
  • 记一次失败的项目经历

    最近因为疫情原因一直在家,已经有快半年没有更新博客了,最近返回公司上班之后,去年做的项目已经完结,虽然已成功交付用户使用,但是在我看来这仍然是失败项目,在这里我...

    Masimaro
  • 面向程序员编程——精研排序算法

    这篇文章很长,我花了好久的时间(中间公司出了bug,加班了好几天( ¯ ¨̯ ¯̥̥ ))进行整理,如有任何疑问,欢迎随时留言。 关键字:排序算法,时间...

    文彬

扫码关注云+社区

领取腾讯云代金券