上一篇讲到使用正则表达式来定位获取目标数据。这一篇来简单的看一下,使用Beautiful Soup来定位获取数据。
本系列文章,代码运行展示,将使用PyCharn进行运行。
像上一篇一样,先给大家安利一篇文章,简单看一下用法。
这位大佬写的,我感觉比较全面,我们今天就简单看一下,其中的CSS选择器。
格式 | 作用 |
---|---|
节点名 | 指定标签来匹配 |
. | 通过类名来查找 |
# | 通过id来查找 |
怎么理解呢?
直接进入实战对抗!
首先,打开上一篇进行爬取的目标网页:4k汽车壁纸
接着导库
import requests
import bs4
接着获取响应
url = 'https://pic.netbian.com/4kqiche/'
response = requests.get(url=url)
text = response.text
进行爬虫的第一步和第二步都是一样的,那么直接跳转到第三步。
还是昨天那张图,不过和昨天标注的不太一样。
进行定位之前,我们要对“汤”进行包装一下。
soup = bs4.BeautifulSoup(text, 'html.parser')
接着,就可以定位了,尽量根据id定位,当然,根据类名也是可以的,这个小实战就适合类名定位。
image_urls = soup.select('.clearfix li a img') # 注意.clearfix和li中间是有空格的
这个定位的目的就是先找到类名为
clearfix
的节点,在找到它下面名为li
的子节点,再找到a节点,再找到img节点
打印一下,可以看到是一个列表,那么久需要对列表进行遍历,得到每一个结果。
那么接下来就是对图片链接的提取了。
使用get
方法
for i in range(len(image_urls)):
image_url = image_urls[i]
image = image_url.get('src')
import requests
import bs4
url = 'https://pic.netbian.com/4kqiche/'
response = requests.get(url=url)
text = response.text
soup = bs4.BeautifulSoup(text, 'html.parser')
image_urls = soup.select('.clearfix li a img') # 注意.clearfix和li中间是有空格的
for i in range(len(image_urls)):
image_url = image_urls[i]
image = image_url.get('src')
print(image)
可以根据上一篇的思路,使用这种方法来练习bs4的使用嗷,补赶紧尝试一下吗?
如有不足,还请大佬评论区留言或私信我,我会进行补充。
感谢您的支持,希望可以点赞,关注,收藏,一键三连哟。
作者:远方的星 CSDN:https://blog.csdn.net/qq_44921056
腾讯云:https://cloud.tencent.com/developer/column/91164
本文仅用于交流学习,未经作者允许,禁止转载,更勿做其他用途,违者必究。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。