首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python最老掉牙的经典爬虫实例,你知道是什么吗

打开F12/右键检查第一个电影,分析源码先,发现每个

标签就对应着一个电影的信息。

我们来爬取每部电影的图片,名称,导演演员,类型,评分,和它的一句话总结,继续对

标签进行分析,又发现信息又在

标签里,而这标签只存在于

标签中,其它地方不存在,这样可以用find_all()方法把他们全部分离出来。这里不选择

标签是它没有唯一性,电影以外的内容也有

标签。

布置好伪装后就可一开始根据每个

标签进行信息筛选了:

图片链接是

的上上个兄弟标签

的孙子的src属性的值

电影名有多个,都在

标签里,用get_text()把它们串起来

导演演员是

标签的第一段字符串

类型是

标签的第二段字符串

评分和评分人数都在

标签里,又用get_text()串起来

一句话总结直属于标签

html中的&NBSP(实际上是小写,这里大写避免markdown识别)对应字符串中的\xa0,可用replace方法替换掉

但是这样只有25部电影啊,是的,'https://movie.douban.com/top250'指向第一页,我们现在只爬了一页,其实还有9页还没爬啊,这是就要构造网址了。

我们点到第二页,发现网址变成了https://movie.douban.com/top2...,第三页start条件值变成50,我们可以得出结论,每下一页,start条件值就加25。第一页start=0,第二页start=25.....第十页start=225。这样就可以循环构造网页并爬取了,这交给读者实现

下面笔者提供另一种思路:网页不是有下一页的按钮吗,右键检查一下,发现它已经包含了要构造的部分了,是一个属性值,提取出来接到原网址上即得到下一页的网址,这样能完全爬取所有页数,不用像上面一样设置循环次数。

贴上完整代码

本实例的筛选方法已经讲的很细致了,几乎提及了BeautifulSoup的所有方法,希望大家能通过此实例能加深对BeautifulSoup的理解,然后自己手打一些爬虫出来,小的十几行多的几十行都可以,爬贴吧什么的都可以。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190420A0BTPU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券