[Python] Python网络爬虫:爬虫篇(一)---最简单的网络爬虫

 
本帖最后由 一只学编程的鱼 于 2023-1-5 00:09 编辑

引言

  知周所众,Python是一门强大的编程语言,我们可以用它来做许多事情,今天,我们就尝试着用Python来写一个最简单的网络爬虫。

准备工作

  我们这次要用到Python中的urllib.request的第三方模块,要想使用这个模块,你就得下载下来(质量守恒定律doge),下载方法就不过多赘述,无论是什么模块,下载的方法都无非是:


  这样,我们的第三方库就安装成功了,接下来就是要导入这个库:


  那么到这里,我们的准备工作就做完了,接下来就开始写吧!

基础玩法

  首先,我们要知道,我们需要用的是一个函数:urlopen()函数,这个函数可就NB了,可以给目标url发送一个请求,那么接下来,我们再用print()函数打印出来不就可以了,来看看吧,这里我们以B站为例,先写出下面这段代码:


  观察输出结果,我们会发现不对的地方,这...

  
  这,这不对吧,说好的源代码呢,就这?我没学过前端,你别骗我,嗯,这确实不是,不过问题不大,我们先用type()函数来看看它的类型:


  我们来看看这家伙到底是“何方神圣”:


  可以看到,这其实是一个HTTPResponse类型的对象(话说我都学了两年面向对象编程了,居然还没有对象doge),那么怎么办呢,我们可以利用这个对象中的read()方法把他读出来,而且要用utf-8或gbk格式


  那么现在,我们再来看看结果吧,可以看到,这就是B站网页的源码了:


进阶玩法
  所谓进阶玩法,既然是设计,那就应该用户怎么舒服怎么来,用户也不一定都学过Python,要是人家想自己爬自己想爬的,难不成要自己改参数?所以我们要设计一个可以让用户自己输入url的代码,那么我们利用input()函数就可以轻松的写出以下代码:


  那么这样不就可以让自己用户输入url了,但是很快,一个新的问题摆在我们面前,如果用户故意输入一个错误的url应该怎么办呢,我们不妨先自己输入一个错误的url,观察报错信息:


  可以看到,报出了Valueerror,即输入错误,怎么办呢,可以配合异常处理:


  那么这次我们再输入一个错误的url试一下:


  这样就实现了,当然,也可以加入循环或GUI提升用户的体验,那么由于时间原因,我们就先谈到这里,下期继续,感谢收看,我是一只学编程的鱼

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
有什么建议和意见都可以告诉我,本人技术有限,再加上本就是自学,难免会有错误的地方,欢迎大佬们指出,最后,如果只是引用一小部分倒不用告诉我,如果是引用很多或搬运请务必私聊我并标明出处,谢谢

所以,我能理解为双重否定吗(doge)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

一只学编程的鱼

初入联盟

关注
  • 6
    主题
  • 2
    粉丝
  • 3
    关注
初中生,一只学编程的鱼,在编程的道路上愈战愈勇,很热爱编程,希望有人能带带我,我希望,有一天我们可以建立起一个大家无偿共享技术,和谐,和睦的环境,谢谢红盟,给了我在网络上的一席之地

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行