Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 22, 2016 17:37:49

KangarooJack
Зарегистрирован: 2016-08-11
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Спарсить ссылку href с розетки

Здравствуйте помогите пожалуйста вытащить ссылку отсюда? то что хранится в href

 <div class="g-i-tile-i-title clearfix">
<a href="http://rozetka.com.ua/12189913/p12189913/" onclick="document.fireEvent('goodsTitleClick',{extend_event:[{name:'goods_id',value:12189913}]});"> Ноутбук Dell Inspiron 3162 (I11C25NIW-46R) Red (582) - Уценка </a>
</div>

Офлайн

#2 Дек. 22, 2016 19:35:01

DesSolo
Зарегистрирован: 2016-12-22
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Спарсить ссылку href с розетки

 import re
x= (' <div class="g-i-tile-i-title clearfix">\n'
    '<a href="http://rozetka.com.ua/12189913/p12189913/" onclick="document.fireEvent(\'goodsTitleClick\',{extend_event:[{name:\'goods_id\',value:12189913}]});"> Ноутбук Dell Inspiron 3162 (I11C25NIW-46R) Red (582) - Уценка </a>\n'
    '</div>')
print(re.findall(r'href=(".*") ',x)[0])
В регулярных вырожениях не силен. Получается так:
 "http://rozetka.com.ua/12189913/p12189913/"
при условии разделения пробелом. Либо используйте Beautiful Soup

Офлайн

#3 Дек. 23, 2016 11:39:22

KangarooJack
Зарегистрирован: 2016-08-11
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Спарсить ссылку href с розетки

Блин забыл сказать, я использую grab, ваш метод не подходит так как я вытаскиваю элементы чере селекторы, вот как то так - название получаю

 print(g.xpath_text('//div[@class = "g-i-tile-i-title clearfix"]'))

Отредактировано KangarooJack (Дек. 23, 2016 11:41:32)

Офлайн

#4 Дек. 23, 2016 15:25:56

DesSolo
Зарегистрирован: 2016-12-22
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Спарсить ссылку href с розетки

С grub не работал, не знаю. С помощью Beautiful Soup это делается элементарно:

 import requests
from bs4 import BeautifulSoup
class GetItems:
    def __init__(self,url):
        self.url=url
        self.response=requests.get(url)
        self.soup=BeautifulSoup(self.response.text,'lxml')
    @property
    def get_href(self):
        hrefs=self.soup.find_all('div', class_="g-i-tile-i-title clearfix")
        for item in hrefs:
            print(item.a['href'])
def main():
    Page=GetItems('http://rozetka.com.ua/mobile-phones/c80003/filter/preset=smartfon/')
    Page.get_href
if __name__=='__main__':
    main()

Отредактировано DesSolo (Дек. 23, 2016 15:27:58)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version