爬取实战案例—(某电商网站爬取)
4.1 网站分析
这是一个海外电商平台,今天我想要获取下面图中一些信息,这里选取的关键词是:IPhone 16

接下来我们想要获取商品的:title、price、link,如何获取呢,我们可以选择点击键盘上的F12,之后我们就可以按照下面的示例,进行选中对应的块了

这里我们选择通过soup.find_all(‘div’, class_=‘product-tuple-listing’)来查找所有的商品块

每个商品块包含了:
-
商品名称:位于 <p class="product-title"> 标签中。
-
商品价格:位于 <span class="lfloat product-price"> 标签中。
-
商品链接:位于 <a> 标签中,包含 href 属性。
上面是简单的网站结构分析,下面我们进行实战
4.2 编写代码
1、首先我们需要导入库,这里我们导入requests和bs4,这两种库
-
requests 是 Python 中一个简洁且功能强大的 HTTP 库,用于发送各种 HTTP 请求,使得在 Python 中进行网络请求变得非常容易。
-
bs4 即 BeautifulSoup 4,是一个用于解析 HTML 和 XML 文档的 Python 库,能够从网页中提取所需的数据。
import requestsfrom bs4 import BeautifulSoup
2、其次设置请求头,如下
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36',}
3、模拟浏览器请求。很多网站会根据请求头来判断请求是否来自浏览器,以防止自动化脚本等的访问。这里你也可以选择多设置几个

4、之后我们确定目标 URL,这里是可以变动的,但是如果变动过大的话,后面对应的结构也得变动
5、获取页面的内容,requests.get(url, headers=headers):发送 GET 请求到 Snapdeal 网站,获取网页内容。
response.text:获取返回的 HTML 内容。BeautifulSoup(response.text, ‘html.parser’):使用 BeautifulSoup 解析 HTML 内容。'html.parser' 是解析器,BeautifulSoup 会将 HTML 内容转换成一个可以通过 Python 代码进行操作的对象。
response = requests.get(url, headers=headers) soup = BeautifulSoup(response.text, 'html.parser')
6、定义提取商品信息的函数,这里使用find_all函数
def extract_product_info():products = []product_elements = soup.find_all('div', class_='product-tuple-listing')
这里设置products = []:初始化一个空列表,用来存储商品信息。
soup.find_all('div', class_='product-tuple-listing'):通过 BeautifulSoup 找到所有符合条件的 div 元素,这些 div 元素是每个商品的容器。根据页面的结构,每个商品信息都被包含在一个 div 标签中,其类名为 product-tuple-listing。
7、接下来就是for循环遍历了

最低0.47元/天 解锁文章
62

被折叠的 条评论
为什么被折叠?



