python使用BeautifulSoup模块抓取网页信息,一个python小爬虫实例

首先需要安装BeautifulSoup模块
安装方法:
win + r 打开运行窗口输入cmd
黑窗输入 where python
cd 进入工作目录下,输入 pip install BeautifulSoup4
在这里插入图片描述

出现下图即安装成功
在这里插入图片描述
注意看我圈出来的内容,要考的!!!抓取的内容是豆瓣音乐榜 本周流行音乐人 | 上升最快音乐人

有一定前端基础的朋友知道另外两个地方圈起来的是元素的a标签和类名,这是我们接下来想要拿到的内容的依据
在这里插入图片描述

新建test.py文件,我们需要使用到requests模块与BeautifulSoup模块,如果没有安装requests,同样通过上方的方式去安装

import requests
from bs4 import BeautifulSoup
#引入模块
url='https://music.douban.com/'  #我们拿取的链接是豆瓣音乐
requests.encoding = 'utf-8'  #告诉解析器我们是已utf-8格式拿取数据,如果不要这句代码,可能出现拿取的数据乱码现象
res = requests.get(url)  #通过requests的get方法拿取页面上的所有信息
resText = res.text #这里抓取到的信息是你在页面上右键==》查看源代码内的所有信息,以字符串形式赋值给resText

soup = BeautifulSoup(resText ,'html.parser') #告诉浏览器你的解析器是'html.parser'
soupList = soup.select('.primary-link') #这里抓到的内容是一个list 
#索引的标准: 类目(标签中class = ‘.classname’):使用 '.classname' 句点号
			#id(标签中id= ‘#id’):使用 '#id' 句点号
			#tagname(标签名 :<a></a>) :使用: 'a'
for i in soupList:
	print(soupList.text) 
#通过for循环就能拿取到所有的类目为primary-link的text文本信息,但是运行代码后会发现
#抓取到的文本中既有我们需要的文本信息,也有我们不需要的


在这里插入图片描述

追加(优化):

import requests
from bs4 import BeautifulSoup

urls = 'https://music.douban.com/'
requests.encoding = 'utf-8'
res = requests.get(urls)

html_sample = res.text
soup = BeautifulSoup(html_sample,'html.parser')
#以上都是相同的方式去抓取页面信息
strs = soup.find_all ('a',class_='title')
#不同的是,这里替换使用了find_all的方法,查找a标签中类目关键字为title的元素,并将其组装为一个list
for i in strs:
    print(i.text)
#通过for in 循环拿出每一项

打印结果:
在这里插入图片描述
似乎还是没有实现我们想要的结果,这是由于抓取到的a标签元素信息都是相同的,找不到唯一索引,所以拿取的值就有差异,后续会更新解决办法。。。。
小白初来驾到

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值