python beautifulsoup模拟点击_Python爬虫丨BeautifulSoup实践

本文介绍了如何使用Python的BeautifulSoup库模拟点击,爬取下厨房网站的【本周最受欢迎】栏目中的菜名、所需材料和详情页URL。通过分析页面结构,提取最小父级标签,并利用find_all()和find()方法查找相关信息。提供了两种不同的代码实现方式,一种是先获取所有父级标签再提取信息,另一种是分别提取菜名、URL和食材,然后一一对应。
摘要由CSDN通过智能技术生成

项目分析

爬取的网站是下厨房,目标是固定栏目【本周最受欢迎】

可以看到我们要爬取的/explore/不在禁止爬取的列表内

1.先看下页面

计划拿到的信息是:菜名、所需材料、和菜名所对应的详情页URL

2.打开检查工具,在Elements里查看这个网页。

3.点击开发者工具左上角的小箭头,然后选中一个菜名,那么Elements会自动标记出对应的代码。

4.找到详情页URL的所在位置。其值是/recipe/104486698/

我们可以提取标签,然后用text拿到它的文本,在使用[href]获取到半截URL和http://www.xiachufang.com做拼接即可。

5.找食材位置,点击小箭头,挑选食材。

6.根据菜名的路径、URL的路径、食材的路径,寻找这三者的最小共同父级标签

两种写爬虫的思路:

思路一:先去爬取所有的最小级父级标签

,然后针对每一个父级标签,提取里面的菜名、URL、食材

思路二:分别提取所有的菜名、所有的URL、所有的食材。然后一一对应起来。

代码实现(一)

获取与解析

用requests.get()获取数据,使用BeautifulSoup来解析

要使用BeautifulSoup模拟点击,你需要了解BeautifulSoup是一个用于解析HTML和XML文件的Python库,它并不提供直接模拟点击的功能。要模拟点击,你可能需要使用其他库,如selenium。 Selenium是一个用于自动化浏览器操作的工具,它可以模拟用户在浏览器中进行各种操作,包括点击、输入文本等。你可以使用Selenium来模拟点击并获取到点击后的页面内容。 以下是一个使用Selenium和BeautifulSoup模拟点击的示例代码: ```python from selenium import webdriver from bs4 import BeautifulSoup # 初始化Selenium浏览器驱动 driver = webdriver.Chrome() # 需要先安装Chrome浏览器和对应版本的驱动 # 打开网页 driver.get('https://example.com') # 模拟点击 button = driver.find_element_by_id('button_id') button.click() # 获取点击后的页面内容 page_source = driver.page_source # 关闭浏览器驱动 driver.quit() # 使用BeautifulSoup解析页面内容 soup = BeautifulSoup(page_source, 'html.parser') # 进行后续操作 # ... ``` 在上面的示例中,我们首先使用Selenium初始化一个浏览器驱动(这里以Chrome驱动为例),然后打开了一个网页。接下来,我们找到要点击的按钮元素,并使用`click()`方法模拟点击操作点击后,我们通过`driver.page_source`属性获取到点击后的页面内容。最后,我们使用BeautifulSoup页面内容进行解析,并进行后续操作。 请注意,使用Selenium进行模拟点击可能会受到网站的反爬虫机制限制,因此请确保你的操作遵守相关法律和网站的使用条款。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值