Уведомления

Группа в Telegram: @pythonsu

#1 Авг. 23, 2017 23:45:22

Antonpython
Зарегистрирован: 2017-02-14
Сообщения: 105
Репутация: +  0  -
Профиль   Отправить e-mail  

Как вывести список без лишней информации

Добрый вечер, всем!
Подскажите, пожалуйста, как вывести список без лишних символов

 import urllib
from bs4 import BeautifulSoup
BASEURL = 'https://jobs.tut.by/search/vacancy?text=Logistics&enable_snippets=true&clusters=true&currency_code=BYR&area=16&only_with_salary=true&from=cluster_compensation'
def get_html(url):
    response = urllib.request.urlopen(url)
    return response.read()
def parse(html):
    soup = BeautifulSoup(html, "lxml")
    table = soup.find('table', class_='l l_auto')
    for row in table.find_all('div', class_='b-vacancy-list-salary'):
        cols = row.find_all('meta', itemprop ='baseSalary')
        print(cols)
def main():
    parse(get_html(BASEURL))
if __name__ == '__main__':
    main()

Выводит
 [<meta content="1500" itemprop="baseSalary"/>]
[<meta content="1750" itemprop="baseSalary"/>]
[<meta content="2200" itemprop="baseSalary"/>]
[<meta content="756" itemprop="baseSalary"/>]
[<meta content="1000" itemprop="baseSalary"/>]
[<meta content="600" itemprop="baseSalary"/>]
[<meta content="1000" itemprop="baseSalary"/>]
[<meta content="400" itemprop="baseSalary"/>]
[<meta content="500" itemprop="baseSalary"/>]
[<meta content="600" itemprop="baseSalary"/>]
[<meta content="1000" itemprop="baseSalary"/>]
[<meta content="500" itemprop="baseSalary"/>]
[<meta content="700" itemprop="baseSalary"/>]
[<meta content="1000" itemprop="baseSalary"/>]
[<meta content="450" itemprop="baseSalary"/>]
[<meta content="470" itemprop="baseSalary"/>]
[<meta content="500" itemprop="baseSalary"/>]
[<meta content="610" itemprop="baseSalary"/>]
[<meta content="750" itemprop="baseSalary"/>]
[<meta content="275" itemprop="baseSalary"/>]

А нужно только цифры без кавычек.
Подскажите, пожалуйста, как это сделать?

Отредактировано Antonpython (Авг. 23, 2017 23:45:56)

Офлайн

#2 Авг. 24, 2017 04:04:49

scidam
Зарегистрирован: 2016-06-15
Сообщения: 288
Репутация: +  35  -
Профиль   Отправить e-mail  

Как вывести список без лишней информации

 print(cols[-1]['content'], cols[-1]['itemprop'])
либо 0 вместо -1.

Офлайн

#3 Авг. 24, 2017 04:06:43

pyuser
От:
Зарегистрирован: 2007-05-13
Сообщения: 658
Репутация: +  36  -
Профиль   Отправить e-mail  

Как вывести список без лишней информации

 import requests
from lxml.html import fromstring
URL = ("https://jobs.tut.by/search/vacancy?text=Logistics&enable_snippets=true&"
       "clusters=true&currency_code=BYR&area=16&only_with_salary=true&from=cluster_compensation")
headers= {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0"
}
req = requests.get(URL, headers=headers)
doc = fromstring(req.content)
    
for meta in doc.xpath("//meta[@itemprop='baseSalary']/@content"):
    print(meta)



Офлайн

#4 Авг. 24, 2017 10:37:53

Antonpython
Зарегистрирован: 2017-02-14
Сообщения: 105
Репутация: +  0  -
Профиль   Отправить e-mail  

Как вывести список без лишней информации

Спасибо Вам за рабочие варианты, в первом случае код нужно убрать после запятой

  print(cols[-1]['content'])

Хорошего дня!

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version