使用BeautifulSoup在相同的div上进行网络解析-如果在页面上找不到,则无法返回'N / A'

问题描述 投票:-1回答:1

因此,我正在尝试抓取整个网站,但问题是该页面与我想要的条目使用相同的内容。因此,这就是为什么我要对它执行findAll,然后使用if:语句查找各个参数的原因。

我当前的问题是,由于某些页面没有该参数,所以我无法使所有参数都具有相同的长度。这也意味着,如果列的长度相同,则无法将其导出到csv。

此外,使用当前代码,当找不到时,它不会返回'N / A'。

这是我的代码(可能也不是最有效的)

'''
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
header = soup.find('p', attrs={'class':'ho1'}).text
location.append({'Location' : header.partition(split)[2]} if header else 'N/A')
for Listing in soup.findAll('div', attrs={'style' : "height:19px; line-height:19px; color:#333; display:inline; float:left"}):
    print(Listing)
    if 'ID: ' in Listing.text:
        identification.append({'ID' : Listing.text} if Listing.text else 'N/A')
    if 'Bedrooms:' in Listing.text:
        bedrooms.append({'Bedrooms' : Listing.text} if Listing.text else 'N/A')
    if 'Bathrooms: ' in Listing.text:
        bathrooms.append({'Bathrooms' : Listing.text} if Listing.text else 'N/A')
    if 'Type: ' in Listing.text:
        typetotal.append({'Type' : Listing.text} if Listing.text else 'N/A')

'''

python parsing web-scraping beautifulsoup
1个回答
0
投票

结构:

© www.soinside.com 2019 - 2024. All rights reserved.