2、爬取网页的相关信息(BeautifulSoup库)
以获取到“淘宝网->主题市场”的文本内容为例。1、对网页源代码进行分析(前期准备工作)打开“淘宝网”,按快捷键“F12”打开网页源代码,用元素选择键(下图蓝框标出)选择“主题市场”模块,跳转到该模块相关代码。可以看到,“主题市场”模块(上图左侧红框)的源代码(上图右侧红框)为一个<ul>标签。而该<ul>标签下含有多个<li>标签,每个<li>
·
以获取到“淘宝网->主题市场”的文本内容为例。
1、对网页源代码进行分析(前期准备工作)
打开“淘宝网”,按快捷键“F12”打开网页源代码,用元素选择键(下图蓝框标出)选择“主题市场”模块,跳转到该模块相关代码。
可以看到,“主题市场”模块(上图左侧红框)的源代码(上图右侧红框)为一个<ul>
标签。而该<ul>
标签下含有多个<li>
标签,每个<li>
标签对应着“主题市场”模块内的一行内容。
点开一个<li>
标签,可以看到,下方内含多个<a>
标签(上图右侧红框),而每个<a>
标签中的文本内容(上图右侧红标)正是我们当前所需要获取的信息。
基于如上的分析,可以得出获取“主题市场”模块文本内容的流程。
第一步:获取到对应“主题市场”模块的<ul>
标签;
第二步:获取到上述<ul>
标签下的所有<li>
标签;
第三步:遍历上述取出的每个<li>
标签,取出所需信息(第一层循环);
第四步:获取到上述每个<li>
标签下所有<a>
标签;
第五步:遍历上述取出的每个<a>
标签,取出所需信息(第二层循环)。
2、根据流程编写代码
#引入requests库
import requests
#引入BeautifulSoup库
from bs4 import BeautifulSoup
#为躲避反爬机制,伪装成浏览器的请求头
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'}
#获取数据
res = requests.get('https://www.taobao.com/',header=headers)
#解析数据(*重点*)
soup = BeautifulSoup(res.text,'html.parser')
#以下步骤开始查找网页相关标签,获取相关数据
#第一步:获取到类名为service-bd的<ul>标签,注意类名标识为class_
tag_ul = soup.find('ul',class_='service-bd')
#第二步:获取到该<ul>标签下的所有<li>标签,注意find()和find_all()的区别
tag_li_s = tag_ul.find_all('li')
#第三步:循环取出每一个获取到的<li>标签
for tag_li in tag_li_s:
#输出该个<li>标签的'data-groupid'的属性值
print(tag_li['data-groupid'],end=" ")
#第四步:获取到该个<li>标签下的所有<a>标签
tag_a_s = tag_li.find_all('a')
#第五步:循环取出每一个获取到的<a>标签
for tag_a in tag_a_s:
#输出该个<a>标签下的文本信息
print(tag_a.text,end=" / ")
print("\n")
更多推荐
已为社区贡献1条内容
所有评论(0)