德胜云资讯,添加一些关于程序相关的内容,仅供大家学习交流(https://www.wxclwl.com)
日期:2023/03/24 10:06作者:张诗刚人气:
转载说明:原创不易,未经授权,谢绝任何形式的转载
网络爬虫是一种快速从网站提取数据并将其用于自己的项目需求的好方法。在这篇文章中,您将学习如何使用Python制作网络爬虫(抓取网页数据)。
第一步是导入您的网络爬虫所需的模块。我们将在此示例中使用requests,BeautifulSoup和json。
import requests from bs4 import BeautifulSoup import json如何安装 BeautifulSoup 和 json?
pip install requests pip install beautifulsoup4接下来,我们需要设置我们将要爬取的URL。这个例子将会爬取CDKeys网站上的产品价格。
url = https://www.cdkeys.com/pc设置URL后,我们需要使用Requests库和BeautifulSoup发送请求并解析HTML响应。
response = requests.get(url) soup = BeautifulSoup(response.content, html.parser)现在我们已经解析了HTML,我们需要选择我们感兴趣的从页面中提取的数据。在这个例子中,我们将选择每个产品的原始价格字段和现在售价。
查看网页对应HTML源文件,产品列表对应的每个产品标签是 li.product-item
原始价格对应的字段是:span[data-price-type="oldPrice"] span
基于这个分析,我们开始编写代码:
oldPrices = soup.select(span[data-price-type="oldPrice"] span) products = soup.select(li.product-item)这里定义的这两个变量,是 list 列表结构。
最后,我们可以遍历每个产品并提取所需的数据。我们可以使用json模块将HTML属性中的数据转换为JSON。在这个例子中,确实有一个HTML属性,其中包含CDKeys网站上所有产品信息的JSON字符串。通常,您不会这么幸运,而是必须选择特定标签的内部文本或HTML。
for i in range(len(products)): # convert the data in the html attributes to json prod = json.loads(products[i][data-impression]) # print the product info print(f"{prod[name]} - ${prod[price]} - {oldPrices[i].text}")就是这样! 您现在拥有一个用Python编写的功能正常的网络爬虫! 网络爬虫是一个强大的工具,可以用于许多不同的应用程序,基于这个你可以尝试其它的站点进行学习。
运行后的效果,如下图所示:
在使用Python工具爬取网络数据时,需要遵循合法性、道德性和隐私保护原则,同时注意爬虫速度、数据处理和储存、异常处理和网站反爬机制等方面的问题。
今天的分享就到这里,感谢你的阅读,希望能够帮助到你,文章创作不易,如果你喜欢我的分享,别忘了点赞转发,让更多有需要的人看到,最后别忘记关注「前端达人」,你的支持将是我分享最大的动力,后续我会持续输出更多内容,敬请期待。