Urllib или urlopen error - скрипт Webscrapping - PullRequest
0 голосов
/ 31 декабря 2018

вот мой первый код для сбора информации с веб-сайтов.

У меня есть одна проблема, когда я пытаюсь ее запустить, консоль выдает следующую ошибку:

Traceback (most recent call last):
File "/Users/rogarui/Desktop/mantequillas_scrapper.py", line 2, in <module>
from urllib.request import urlopen as uReq
ImportError: No module named request
[Finished in 0.3s with exit code 1]
[shell_cmd: python -u "/Users/rogarui/Desktop/mantequillas_scrapper.py"]
[dir: /Users/rogarui/Desktop]
[path: /Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin]

Не могли бы выПожалуйста, помогите мне с этим, я попытался изменить urllib на urllib3, но если я сделаю это, ошибка изменится на:

"Traceback (most recent call last):
File "/Users/rogarui/Desktop/mantequillas_scrapper.py", line 2, in <module>
from urllib3.request import urlopen as uReq
ImportError: cannot import name urlopen
[Finished in 0.2s with exit code 1]
[shell_cmd: python -u  "/Users/rogarui/Desktop/mantequillas_scrapper.py"]
[dir: /Users/rogarui/Desktop]
[path: /Library/Frameworks/Python.framework/Versions/3.7/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin]"

Вот мой код:

import bs4
from urllib.request import urlopen as uReq
from bs4 import BeautifulSoup as soup

my_url = 'https://www.hsnstore.com/mantequillas-y-cremas'


uClient = uReq(my_url)
page_html = uClient.read()
uClient.close()


page_soup = soup(page_html, "html.parser")


containers = page_soup.findAll("div",{"clas":"col-xs-9 no-gutter     list_product_right_box "})

for container in containers:

marca = container.a.text

producto = container.find("div",{"class":"col-xs-12 no-gutter product_name_link "})
nombre_producto = producto_titulo.a.text.strip()

precio_2 = container.find("div",{"class":"regular-price"})
precio_inicial = precio_2.text.strip()

precio_1 = container.find("div",{"class":"final-price"})
precio_final = precio_1.text.strip()


print("marca: " + marca)
print("nombre producto: " + nombre_producto)
print("precio inicial: " + precio_inicial)
print("precio final: " + precio_final)
...