有哪些足不出户,能用十天左右时间掌握的新技能( 八 )




#导入urlopen函数fromurllib.requestimporturlopen#导入BeautifulSoupfrombs4importBeautifulSoupasbf#请求获取HTMLhtml=urlopen("https://www.baidu.com/")#用BeautifulSoup解析htmlobj=bf(html.read(),\u0026#39;html.parser\u0026#39;)#从标签head、title里提取标题title=obj.head.title#打印标题print(title)看看结果:



这样就搞定了,成功提取出百度首页的标题。
如果我想要下载百度首页logo图片呢?
第一步先获取该网页所有图片标签和url,这个可以使用BeautifulSoup的findAll方法,它可以提取包含在标签里的信息。
一般来说,HTML里所有图片信息会在“img”标签里,所以我们通过findAll("img")就可以获取到所有图片的信息了。
#导入urlopenfromurllib.requestimporturlopen#导入BeautifulSoupfrombs4importBeautifulSoupasbf#请求获取HTMLhtml=urlopen("https://www.baidu.com/")#用BeautifulSoup解析htmlobj=bf(html.read(),\u0026#39;html.parser\u0026#39;)#从标签head、title里提取标题title=obj.head.title#使用find_all函数获取所有图片的信息pic_info=obj.find_all(\u0026#39;img\u0026#39;)#分别打印每个图片的信息foriinpic_info:print(i)看看结果:



打印出了所有图片的属性,包括class(元素类名)、src(链接地址)、长宽高等。
其中有百度首页logo的图片,该图片的class(元素类名)是index-logo-src。



可以看到图片的链接地址在src这个属性里,我们要获取图片链接地址:
#导入urlopenfromurllib.requestimporturlopen#导入BeautifulSoupfrombs4importBeautifulSoupasbf#请求获取HTMLhtml=urlopen("https://www.baidu.com/")#用BeautifulSoup解析htmlobj=bf(html.read(),\u0026#39;html.parser\u0026#39;)#从标签head、title里提取标题title=obj.head.title#只提取logo图片的信息logo_pic_info=obj.find_all(\u0026#39;img\u0026#39;,class_="index-logo-src")#提取logo图片的链接logo_url="https:"+logo_pic_info#打印链接print(logo_url)结果:



获取地址后,就可以用urllib.urlretrieve函数下载logo图片了
#导入urlopenfromurllib.requestimporturlopen#导入BeautifulSoupfrombs4importBeautifulSoupasbf#导入urlretrieve函数,用于下载图片fromurllib.requestimporturlretrieve#请求获取HTMLhtml=urlopen("https://www.baidu.com/")#用BeautifulSoup解析htmlobj=bf(html.read(),\u0026#39;html.parser\u0026#39;)#从标签head、title里提取标题title=obj.head.title#只提取logo图片的信息logo_pic_info=obj.find_all(\u0026#39;img\u0026#39;,class_="index-logo-src")#提取logo图片的链接logo_url="https:"+logo_pic_info#使用urlretrieve下载图片urlretrieve(logo_url,\u0026#39;logo.png\u0026#39;)最终图片保存在\u0026#39;logo.png\u0026#39;




六、结语
本文用爬取百度首页标题和logo图片的案例,讲解了python爬虫的基本原理以及相关python库的使用,这是比较初级的爬虫知识,还有很多优秀的python爬虫库和框架等待后续去学习。
当然,掌握本文讲的知识点,你就已经入门python爬虫了。加油吧,少年!

5、赶紧行动吧!疫情特殊时期,很多人在家闲着,趁这个机会学习python爬虫,上班后也能继续学习python大法。









推荐阅读