Python靓汤不循环结果

2024-04-19 04:54:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我是第一次使用BS4,需要将在线目录中的项目刮到csv。 我已经设置了我的代码,但是当我运行代码时,结果只是重复目录中的第一项n次(其中n是项目数)。 有人可以检查我的代码,让我知道哪里出了问题

谢谢

import requests
from bs4 import BeautifulSoup
from csv import writer


#response = requests.get('https://my.supplychain.nhs.uk/Catalogue/browse/27/anaesthetic-oxygen-and-resuscitation?CoreListRequest=BrowseCoreList')
response = requests.get('https://my.supplychain.nhs.uk/Catalogue/browse/32/nhs-cat?LastCartId=&LastFavouriteId=&CoreListRequest=BrowseAll')

soup = BeautifulSoup(response.text , 'html.parser')
items = soup.find_all(class_='productPrevDetails')
#print(items)
for item in items:
    ItemCode = soup.find(class_='product_npc ').get_text().replace('\n','')
    ItemNameS = soup.select('p')[58].get_text()    
    ProductInfo = soup.find(class_='product_key_info').get_text()

    print(ItemCode,ItemNameS,ProductInfo)

Tags: csv代码textfromimport目录getresponse
1条回答
网友
1楼 · 发布于 2024-04-19 04:54:00

您总是看到第一个结果,因为您正在搜索soup,而不是item。试一试

for item in items:
    ItemCode = item.find(class_='product_npc ').get_text().replace('\n','')
    ItemNameS = item.select('p')[58].get_text()    
    ProductInfo = item.find(class_='product_key_info').get_text()

    print(ItemCode,ItemNameS,ProductInfo)

相关问题 更多 >