web爬虫本质上就是一种递归,首先获取一个url对应的页面内容,检测这个页面寻找另一个url,再获取该url对应的网页内容,并不断循环这一过程。这也就是代码在运行的时候是那么慢的原因了...

抱歉,强行塞了一个开头....

前置:需要引入的包

import re
import ssl
import urllib.request
from bs4 import BeautifulSoup

示例1:访问url并解析后返回

def visit_page(url):"""解析主url的函数,并返回BeautifulSoup解析后的html:param url::return:"""headers = {"user-agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36"}ssl._create_default_https_context = ssl._create_unverified_contexturl_obj = urllib.request.Request(url, headers=headers)response = urllib.request.urlopen(url_obj)html = response.read().decode('utf8')return BeautifulSoup(html, "html.parser")

示例2:获取页面中的单个域,处理后存入集合去重

def get_url_links():"""利用正在获取内链,获取标签为href的,然后塞到集合中去重并返回集合:return:"""links_url = set()bs = visit_page("https://movie.douban.com/chart")data = bs.find_all('a', href=re.compile('(https:\/\/movie\.douban\.com\/subject).*'))count = 0for i in data:if 'href' in i.attrs:links_url.add(i.attrs['href'])count += 1print(count)return links_url

示例3:遍历存入的域名,获取文本信息

def visit_movie():"""循环集合数据,并通过正则找到标签为h1的数据,获取文本信息文本通过strip去两边的换行符并添加到列表中,返回列表:return:"""save_data = []for i in get_url_links():bs = visit_page(i)title = bs.find('h1').get_text()save_data.append((title.strip('\n'),))return save_data

调用函数运行,循环列表数据并进行分割处理:


if __name__ == '__main__':"""循环列表,通过换行符,分割电影名称和年份获取到电影名称和年份,end不换行显示,print()换行第二行数据"""for i in visit_movie():for j in i:name, year = j.split('\n')print(f'电影名称: {name}  ;年份: {year}', end=' ')print()

运行后的结果显示如下:

电影名称: 第十一回  ;年份: (2019)
电影名称: 上帝之城 Cidade de Deus  ;年份: (2002)
电影名称: 托芙 Tove  ;年份: (2020)
电影名称: 三傻大闹宝莱坞 3 Idiots  ;年份: (2009)
电影名称: 我不是药神  ;年份: (2018)
电影名称: 未麻的部屋 Perfect Blue  ;年份: (1997)
电影名称: 电锯惊魂9:漩涡 Spiral: From the Book of Saw  ;年份: (2021)
电影名称: 罪之声 罪の声  ;年份: (2020)
电影名称: 那些希望我死的人 Those Who Wish Me Dead  ;年份: (2021)
电影名称: 人之怒 Wrath of Man  ;年份: (2021)
电影名称: 寻龙传说 Raya and The Last Dragon  ;年份: (2021)
电影名称: 花样年华 花樣年華  ;年份: (2000)
电影名称: 找到你 Finding You  ;年份: (2021)
电影名称: 地球改变之年 The Year Earth Changed  ;年份: (2021)
电影名称: 蝙蝠侠:黑暗骑士崛起 The Dark Knight Rises  ;年份: (2012)
电影名称: 穿越时空的少女 時をかける少女  ;年份: (2006)
电影名称: 小人物 Nobody  ;年份: (2021)
电影名称: 渐强 Crescendo  ;年份: (2019)
电影名称: 釜山行 부산행  ;年份: (2016)
电影名称: 迷宫中的人 L'uomo del labirinto  ;年份: (2019)
电影名称: 遗愿清单 The Bucket List  ;年份: (2007)
电影名称: 智能大反攻 The Mitchells vs. The Machines  ;年份: (2021)
电影名称: 八月处子 La Virgen de Agosto  ;年份: (2019)
电影名称: 真人快打 Mortal Kombat  ;年份: (2021)
电影名称: 窗里的女人 The Woman in the Window  ;年份: (2021)
电影名称: 兹山鱼谱 자산어보  ;年份: (2021)
电影名称: 黑道与家族 ヤクザと家族  ;年份: (2021)
电影名称: 网诱惊魂 Profile  ;年份: (2018)
电影名称: 夏季幸存者 Išgyventi vasarą  ;年份: (2018)
电影名称: 三块广告牌 Three Billboards Outside Ebbing, Missouri  ;年份: (2017)
电影名称: 酒精计划 Druk  ;年份: (2020)
电影名称: 教父2 The Godfather: Part Ⅱ  ;年份: (1974)
电影名称: 今天在这里 Here Today  ;年份: (2021)
电影名称: 人潮汹涌  ;年份: (2021)
电影名称: 鬼灭之刃 Demon Slayer  ;年份: (2003)
电影名称: 哥斯拉大战金刚 Godzilla vs Kong  ;年份: (2021)
电影名称: 鬼灭之刃 剧场版 无限列车篇 劇場版 鬼滅の刃 無限列車編  ;年份: (2020)
电影名称: 唐人街探案3  ;年份: (2021)
电影名称: 初恋这件小事 สิ่งเล็กเล็กที่เรียกว่า...รัก  ;年份: (2010) Process finished with exit code 0

以上代码还有待优化,比如异常捕获,及异常捕获后的处理是什么样等等....

以上总结或许能帮助到你,或许帮助不到你,但还是希望能帮助到你,如有疑问、歧义,评论区留言会及时修正发布,谢谢!

未完,待续…

一直都在努力,希望您也是

python:网络爬虫之遍历单个域名获取电影名称及年份相关推荐

  1. the oracle of bacon,python爬虫之遍历单个域名

    即使你没听说过"维基百科六度分隔理论",也很可能听过"凯文 • 贝肯 (Kevin Bacon)的六度分隔值游戏".在这两个游戏中,目标都是把两 个不相干的主题 ...

  2. python网络爬虫_一篇文章教会你利用Python网络爬虫获取穷游攻略

    点击上方"IT共享之家",进行关注 回复"资料"可获赠Python学习福利 [一.项目背景] 穷游网提供原创实用的出境游旅行指南.攻略,旅行社区和问答交流平台, ...

  3. python3爬虫有道翻译_一篇文章教会你利用Python网络爬虫获取有道翻译手机版的翻译接口...

    [一.项目背景] 有道翻译作为国内最大的翻译软件之一,用户量巨大.在学习时遇到不会的英语词汇,会第一时间找翻译,有道翻译就是首选.今天教大家如何去获取有道翻译手机版的翻译接口. ![image](ht ...

  4. python如何爬有道翻译_如何利用Python网络爬虫来获取有道翻译翻译接口--手机版的哦!...

    [一.项目背景] 有道翻译作为国内最大的翻译软件之一,用户量巨大.在学习时遇到不会的英语词汇,会第一时间找翻译,有道翻译就是首选.今天教大家如何去获取有道翻译手机版的翻译接口. ​ image [二. ...

  5. IT宅男利用Python网络爬虫获取有道翻译手机版翻译接口

    [一.项目背景] 有道翻译作为国内最大的翻译软件之一,用户量巨大.在学习时遇到不会的英语词汇,会第一时间找翻译,有道翻译就是首选.今天教大家如何去获取有道翻译手机版的翻译接口. [二.项目目标] 多国 ...

  6. 手把手教你使用Python网络爬虫获取音效信息

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 一腔热血勤珍重,洒去犹能化碧涛. ...

  7. 手把手教你使用Python网络爬虫获取B站视频选集内容(附源码)

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 位卑未敢忘忧国,事定犹须待阖棺. ...

  8. python下载电影天堂视频_一篇文章教会你利用Python网络爬虫获取电影天堂视频下载链接...

    点击上方"IT共享之家",进行关注 回复"资料"可获赠Python学习福利 [一.项目背景] 相信大家都有一种头疼的体验,要下载电影特别费劲,对吧?要一部一部的 ...

  9. 10分钟教你利用Python网络爬虫获取穷游攻略

    完整源码在底部 [一.项目背景] 穷游网提供原创实用的出境游旅行指南.攻略,旅行社区和问答交流平台,以及智能的旅行规划解决方案,同时提供签证.保险.机票.酒店预订.租车等在线增值服务.穷游" ...

  10. 一篇文章教会你利用Python网络爬虫获取穷游攻略

    [一.项目背景] 穷游网提供原创实用的出境游旅行指南.攻略,旅行社区和问答交流平台,以及智能的旅行规划解决方案,同时提供签证.保险.机票.酒店预订.租车等在线增值服务.穷游"鼓励和帮助中国旅 ...

最新文章

  1. 【直播回顾】云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第19讲):Java Spring Cloud微服务架构模式与开发实战...
  2. 机器人简化图画手绘图_床上用的扫地机器人,彻底清除细菌,不再担心酒店卫生问题...
  3. yii2 pdo mysql 乱码_YII2.0使用PDO连接Oracle库查询结果中文显示乱码问题
  4. 1.10 字符串的替换(replace()、replaceFirst()和replaceAll())
  5. Eclipse中debug时String太长怎样查看全部
  6. mac ntfs读写插件的双十一活动已经开始啦
  7. 吴恩达作业6:梯度检验
  8. android组建之间通信_Android组件化(三)组件之间的通信
  9. autobench 快速入门
  10. linux服务器终止进程,结束linux 服务器系统中一个程序的多个进程
  11. 李珣动态爱心代码教程
  12. 如何在直播、会议、视频中使用虚拟形象
  13. 【毕设资料】 Web版RSS阅读器(一)——dom4j读取xml(opml)文件
  14. 华为p8刷linux系统,普通安卓手机如何刷鸿蒙系统?
  15. 【硬件FPGA 】xilinx_A7调试问题总结(FPGA异常发烫)
  16. Java版电商购物系统说明
  17. sourcetree远端 红色叹号
  18. Windows中Nginx下载、安装、配置
  19. 《翻转组件库之init项目》
  20. 中软国际java 笔试 面试题

热门文章

  1. 【4】Git查看版本库当前状态
  2. 初中数学抽象教学的案例_初中数学教学案例分析-初中数学教学案例分析100例...
  3. S5P4418裸机开发(一):相关工具准备
  4. python二级题库(百分之九十原题) 刷题软件推荐 第六套
  5. 滴滴出行A/B测试城市运营分析
  6. 控制/ 状态寄存器(RCC_CSR) 复位
  7. DetectoRS: Detecting Objects with Recursive Feature Pyramid and Switchable Atrous Convolution
  8. 信息安全技术 代码安全审计规范
  9. 纯干货,PSI 原理解析与应用
  10. iOS开发之音视频边下边播缓存方案