编辑:
所以,我正在用美丽的汤做抓网。
我尝试了很多事情,但无法达到代码的这一部分:
我尝试了这个(以及其他派生),但是它返回了一个空列表:
iptu = [iptu.get_text() for iptu in soup.find_all("article", {"data-clickstream":"iptuPrices"})]
我如何发送要复制和粘贴的很大的HTML?!
答案 0 :(得分:1)
在图像中,所需的数据看起来像是商品标签属性中的JSON字符串中的数据。如果是这样,那么也许这样的事情可以帮助您入门。
from bs4 import BeautifulSoup
import json
import requests
url = 'https://www.zapimoveis.com.br/aluguel/casas-de-condominio/agr+rj++barra-e-recreio/'
user_agent = {'User-agent': 'Mozilla/5.0'}
resp = requests.get(url, headers=user_agent)
soup = BeautifulSoup(resp.text, features="html.parser")
prices = []
for i, a in enumerate(soup.find_all('article')):
b = a.get('data-clickstream')
if not b: continue
o = json.loads(b)
prices.append(sum(map(float, o['iptuPrices'])))
print(prices)