如何使用gazpacho从项目返回URL文本
from gazpacho import get, Soup
page = 0
id = 0
try:
while True:
page += 1
url = f'https://rj.olx.com.br/serra-angra-dos-reis-e-regiao/regiao-serrana/petropolis/imoveis?o={page}'
html = get(url)
soup = Soup(html)
offers = soup.find('div', {'class': 'fnmrjs-1 gIEtsI'}, strict=True)
for item in offers:
id += 1
title = item.find('h2', {'class': 'sc-1mbetcw-0 eJfLou sc-ifAKCX jyXVpA'}, strict=True).text
price = item.find('div', {'class': 'aoie8y-0 hRScWw'}, strict=True).text
location = item.find('span', {'class': 'sc-7l84qu-1 ciykCV sc-ifAKCX dpURtf'}, strict=True).text
#link = ????
print(str(id), "-",title , price, location , link)
except KeyboardInterrupt:
print('Interrupted using CTRL + C')
另外,我发现在所有页面上运行添加+1值的方式并不好,因为如果我达到一个不存在的值,它将在第一页开始循环,如果你们有任何想法处理它,我将不胜感激
要获取以下链接,您可能需要搜索所有
li
标记并提取锚例如:
输出:
编辑:
要解决再次循环相同页面的问题,只需获取可用页面的总数并在
range()
中使用它把所有这些放在一起,你可能会有这样的情况:
输出:
相关问题 更多 >
编程相关推荐