【发布时间】:2021-01-12 01:24:59
【问题描述】:
三天前,我开始学习 Python 来创建网络爬虫并收集有关新书发布的信息。我被困在我的一个目标网站上……我知道这是一个非常基本的问题,但我看过一些视频,查看了许多有关堆栈溢出的相关问题,尝试了 10 多种不同的解决方案,但一无所获。如果有人可以提供帮助,不胜感激:
我的问题: 我可以检索标题信息但无法检索价格信息
数据来源: https://www.bloomsbury.com/uk/non-fiction/business-and-management/?pagesize=25
我的代码:
from bs4 import BeautifulSoup
import requests
import csv
url = 'https://www.bloomsbury.com/uk/non-fiction/business-and-management/?pagesize=25'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36'}
source = requests.get(url, headers=headers).text
#获取标题的代码
soup = BeautifulSoup(source, 'lxml')
for productdetails in soup.find_all("div", class_='figDetails'):
producttitle = productdetails.a.text
print(producttitle)
#获取价格的代码
for productpricedetails in soup.find_all("div", class_='related-products-block'):
productprice = productdetails.find("div", class_="new-price").span.text
print(productprice)
名称为 span 的元素有两个,我需要第二个元素的信息,但不知道如何获取。 此外,在尝试不同的可能解决方案时,我不断收到 noneType 错误...
【问题讨论】:
标签: python web-scraping