Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
222 changes: 222 additions & 0 deletions PROYECTO2_Gilda.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,222 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 110,
"id": "f2ebe4b0",
"metadata": {},
"outputs": [],
"source": [
"import selenium\n",
"from bs4 import BeautifulSoup"
]
},
{
"cell_type": "code",
"execution_count": 111,
"id": "07c4c939-b469-415a-9a7a-b5f6721393f6",
"metadata": {},
"outputs": [],
"source": [
"from selenium import webdriver\n",
"from selenium.webdriver.common.by import By\n",
"from selenium.webdriver.common.keys import Keys\n",
"from selenium.webdriver.common.action_chains import ActionChains"
]
},
{
"cell_type": "code",
"execution_count": 112,
"id": "c18d0af7-bb88-4a20-9710-fef60d0aab7a",
"metadata": {},
"outputs": [],
"source": [
"url = 'https://www.electrocosto.com/televisores/'"
]
},
{
"cell_type": "code",
"execution_count": 113,
"id": "47c266e3-3883-4a60-981c-7316f8770275",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"C:\\Users\\Toshiba Satellite\\AppData\\Local\\Temp\\ipykernel_11020\\559913129.py:1: DeprecationWarning: executable_path has been deprecated, please pass in a Service object\n",
" driver = webdriver.Chrome('C:\\Driver\\chromedriver')\n"
]
}
],
"source": [
"driver = webdriver.Chrome('C:\\Driver\\chromedriver')"
]
},
{
"cell_type": "code",
"execution_count": 114,
"id": "cddacfe0-33af-422a-8c85-7c46f3c8d78b",
"metadata": {},
"outputs": [],
"source": [
"driver.maximize_window()"
]
},
{
"cell_type": "code",
"execution_count": 115,
"id": "6e081e9a-6d8c-4508-9349-84894e28519f",
"metadata": {},
"outputs": [],
"source": [
"driver.get(url)"
]
},
{
"cell_type": "code",
"execution_count": 116,
"id": "c520d561-2e40-4e3a-8c2c-c78e05dbc8a7",
"metadata": {},
"outputs": [],
"source": [
"soup = BeautifulSoup(driver.page_source)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "341671ea-b9e0-4abf-84d4-41adca74576a",
"metadata": {},
"outputs": [],
"source": [
"soup.select('button[name=\"bluecoreCloseButton\"]')"
]
},
{
"cell_type": "code",
"execution_count": 109,
"id": "2cc932a9-f8b5-40e6-a6bd-6ffa22f0d079",
"metadata": {},
"outputs": [
{
"ename": "InvalidArgumentException",
"evalue": "Message: invalid argument: invalid locator\n (Session info: chrome=107.0.5304.122)\nStacktrace:\nBacktrace:\n\tOrdinal0 [0x0031ACD3+2075859]\n\tOrdinal0 [0x002AEE61+1633889]\n\tOrdinal0 [0x001AB7BD+571325]\n\tOrdinal0 [0x001DA745+763717]\n\tOrdinal0 [0x001DAE1B+765467]\n\tOrdinal0 [0x0020D0F2+970994]\n\tOrdinal0 [0x001F7364+881508]\n\tOrdinal0 [0x0020B56A+963946]\n\tOrdinal0 [0x001F7136+880950]\n\tOrdinal0 [0x001CFEFD+720637]\n\tOrdinal0 [0x001D0F3F+724799]\n\tGetHandleVerifier [0x005CEED2+2769538]\n\tGetHandleVerifier [0x005C0D95+2711877]\n\tGetHandleVerifier [0x003AA03A+521194]\n\tGetHandleVerifier [0x003A8DA0+516432]\n\tOrdinal0 [0x002B682C+1665068]\n\tOrdinal0 [0x002BB128+1683752]\n\tOrdinal0 [0x002BB215+1683989]\n\tOrdinal0 [0x002C6484+1729668]\n\tBaseThreadInitThunk [0x7611FEF9+25]\n\tRtlGetAppContainerNamedObjectPath [0x76F17BBE+286]\n\tRtlGetAppContainerNamedObjectPath [0x76F17B8E+238]\n",
"output_type": "error",
"traceback": [
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mInvalidArgumentException\u001b[0m Traceback (most recent call last)",
"Input \u001b[1;32mIn [109]\u001b[0m, in \u001b[0;36m<cell line: 2>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m listanombres \u001b[38;5;241m=\u001b[39m [] \n\u001b[1;32m----> 2\u001b[0m nombres \u001b[38;5;241m=\u001b[39m \u001b[43mdriver\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfind_element\u001b[49m\u001b[43m(\u001b[49m\u001b[43mby\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mrecomender-block-item\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mvalue\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mrecomender-block-item-title text-center\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 3\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m nombre \u001b[38;5;129;01min\u001b[39;00m nombres:\n\u001b[0;32m 4\u001b[0m producto \u001b[38;5;241m=\u001b[39m nombre\u001b[38;5;241m.\u001b[39mget_attribute(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mtitle\u001b[39m\u001b[38;5;124m'\u001b[39m)\n",
"File \u001b[1;32mC:\\ANACONDA\\lib\\site-packages\\selenium\\webdriver\\remote\\webdriver.py:861\u001b[0m, in \u001b[0;36mWebDriver.find_element\u001b[1;34m(self, by, value)\u001b[0m\n\u001b[0;32m 858\u001b[0m by \u001b[38;5;241m=\u001b[39m By\u001b[38;5;241m.\u001b[39mCSS_SELECTOR\n\u001b[0;32m 859\u001b[0m value \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124m[name=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;132;01m%s\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m]\u001b[39m\u001b[38;5;124m'\u001b[39m \u001b[38;5;241m%\u001b[39m value\n\u001b[1;32m--> 861\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mexecute\u001b[49m\u001b[43m(\u001b[49m\u001b[43mCommand\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mFIND_ELEMENT\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43m{\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43musing\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mby\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mvalue\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mvalue\u001b[49m\u001b[43m}\u001b[49m\u001b[43m)\u001b[49m[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mvalue\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n",
"File \u001b[1;32mC:\\ANACONDA\\lib\\site-packages\\selenium\\webdriver\\remote\\webdriver.py:444\u001b[0m, in \u001b[0;36mWebDriver.execute\u001b[1;34m(self, driver_command, params)\u001b[0m\n\u001b[0;32m 442\u001b[0m response \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcommand_executor\u001b[38;5;241m.\u001b[39mexecute(driver_command, params)\n\u001b[0;32m 443\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m response:\n\u001b[1;32m--> 444\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43merror_handler\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcheck_response\u001b[49m\u001b[43m(\u001b[49m\u001b[43mresponse\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 445\u001b[0m response[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mvalue\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_unwrap_value(response\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mvalue\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28;01mNone\u001b[39;00m))\n\u001b[0;32m 446\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m response\n",
"File \u001b[1;32mC:\\ANACONDA\\lib\\site-packages\\selenium\\webdriver\\remote\\errorhandler.py:249\u001b[0m, in \u001b[0;36mErrorHandler.check_response\u001b[1;34m(self, response)\u001b[0m\n\u001b[0;32m 247\u001b[0m alert_text \u001b[38;5;241m=\u001b[39m value[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124malert\u001b[39m\u001b[38;5;124m\"\u001b[39m]\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtext\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m 248\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m exception_class(message, screen, stacktrace, alert_text) \u001b[38;5;66;03m# type: ignore[call-arg] # mypy is not smart enough here\u001b[39;00m\n\u001b[1;32m--> 249\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m exception_class(message, screen, stacktrace)\n",
"\u001b[1;31mInvalidArgumentException\u001b[0m: Message: invalid argument: invalid locator\n (Session info: chrome=107.0.5304.122)\nStacktrace:\nBacktrace:\n\tOrdinal0 [0x0031ACD3+2075859]\n\tOrdinal0 [0x002AEE61+1633889]\n\tOrdinal0 [0x001AB7BD+571325]\n\tOrdinal0 [0x001DA745+763717]\n\tOrdinal0 [0x001DAE1B+765467]\n\tOrdinal0 [0x0020D0F2+970994]\n\tOrdinal0 [0x001F7364+881508]\n\tOrdinal0 [0x0020B56A+963946]\n\tOrdinal0 [0x001F7136+880950]\n\tOrdinal0 [0x001CFEFD+720637]\n\tOrdinal0 [0x001D0F3F+724799]\n\tGetHandleVerifier [0x005CEED2+2769538]\n\tGetHandleVerifier [0x005C0D95+2711877]\n\tGetHandleVerifier [0x003AA03A+521194]\n\tGetHandleVerifier [0x003A8DA0+516432]\n\tOrdinal0 [0x002B682C+1665068]\n\tOrdinal0 [0x002BB128+1683752]\n\tOrdinal0 [0x002BB215+1683989]\n\tOrdinal0 [0x002C6484+1729668]\n\tBaseThreadInitThunk [0x7611FEF9+25]\n\tRtlGetAppContainerNamedObjectPath [0x76F17BBE+286]\n\tRtlGetAppContainerNamedObjectPath [0x76F17B8E+238]\n"
]
}
],
"source": [
"listanombres = [] \n",
"nombres = driver.find_element(by = 'recomender-block-item', value ='recomender-block-item-title text-center' )\n",
"for nombre in nombres:\n",
" producto = nombre.get_attribute('title')\n",
" listanombres.append(producto)\n",
" print(producto)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "dfd11b4b-8caa-4424-b458-82c142efd33b",
"metadata": {},
"outputs": [],
"source": [
"<div class=\"recomender-block-item-title text-center\"><span>\n",
"NEVIR NVR-8060-434K2S Negro - TV Smart TV UHD 4K\n",
"</span></div>"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "0e4eb4e4-9cd2-40a5-a8ae-15ab40fa4dd5",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "ef4bd5e8-8a41-47fa-83db-64ed52196e91",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "6529bddb-d23c-4faf-8b40-fa0783965978",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "95789c11-f7bf-435b-be98-dca499c08230",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "5e58264c-4a6b-4d60-b0a7-2cb2aa6c3fdc",
"metadata": {},
"outputs": [],
"source": [
"###[][][]|||"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "ef6c0807-ea9f-4075-9387-343301450456",
"metadata": {},
"outputs": [],
"source": [
"###[][][]|||"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "53533129-8f09-41ea-bbc9-dfc1cab6ddbb",
"metadata": {},
"outputs": [],
"source": [
"###[][][]|||"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.12"
}
},
"nbformat": 4,
"nbformat_minor": 5
}