python - 使用美丽的汤python获取特定页面中的标签时出现问题
问题描述
我正在尝试使用以下代码从www.toctoc.com这个页面获取每个帖子的信息:
page = requests.get('website_url') #website url was too long
soup = BeautifulSoup(page.content, 'html.parser')
name_box = soup.find_all('div', attrs={'class': 'item'})
输出: []
有谁知道如何在每个类(每个帖子)中找到所有代码?
解决方案
Javascript 必须在页面上运行。你可以等待这些元素全部出现。然后访问特定元素。我只是为你的班级展示顶级水平
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
url = 'https://www.toctoc.com/search/index2/?dormitorios=0&banos=0&superficieDesde=0&superficieHasta=0&precioDesde=0&precioHasta=0&moneda=UF&tipoArriendo=true&tipoVentaUsado=false&tipoVentaNuevo=false&casaDepto=8&ordenarPorMoneda=UFCLP&ordenarDesc=false&ordernarPorFechaPublicacion=false&ordernarPorSuperficie=false&ordernarPorPrecio=false&pagina=1&esMobile=false&textoBusqueda=Regi%C3%B3n%20Metropolitana&textoOriginal=Regi%C3%B3n%20Metropolitana&tipoVista=lista&viewport=-71.715363%2C-34.29047%2C-69.769737%2C-32.922085&comuna=®ion=Regi%C3%B3n%20Metropolitana%20de%20Santiago&atributos=&idle=true&zoom=7.053707424896949&buscando=true&vuelveBuscar=false&dibujaPoligono=true&resetMapa=true&animacion=false&idZonaHomogenea=0&esPrimeraBusqueda=false'
driver = webdriver.Chrome()
driver.get(url)
items = WebDriverWait(driver,10).until(EC.presence_of_all_elements_located((By.CSS_SELECTOR, ".item")))
for item in items:
print(item.text)
#driver.quit()
推荐阅读
- r - 想要创建一个类似于 R 中描述的极坐标直方图
- php - 如何访问相关的帖子 ID?
- java - 我们如何使用 java 中的字符串操作从 html 文件中拆分单词?
- video - 使用 javacv 将 AVI 文件导出到分段 mp4 时如何获得正确的 sample_aspect_ratio 和 display_aspect_ratio
- python - 滚动区域的 Kivy 重新调度事件
- elasticsearch - 弹性搜索和搜索排名模型
- r - 使用 R 中的 rethomics(昼夜节律行为)包时解析失败
- xml - XSLT 将具有相同 ID 的行项目组合到单独的记录中
- spring-webflux - Flux.parallel.runOn().flatMap(blockingcall //Mono.fromCallable) 与flux.flatMap(blockingcall.subscribeOn() //Mono.fromCallable) 的区别
- android-studio - Hilt Kotlin 中不支持的元数据版本