Форум сайта python.su
Есть код
import requests
import urllib
from bs4 import BeautifulSoup
import csv
from datetime import datetime
from multiprocessing import Pool
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')
vacancies = []
for row in table.find_all('div', class_='search-result-description__item search-result-description__item_primary'):
cols = row.find_all('div', class_='search-result-item__head')
vacancies.append({
'title': cols[0].a.text,
})
for vacancy in vacancies:
print(vacancy)
salaries = []
for row in table.find_all('div', class_='search-result-description__item search-result-description__item_primary'):
cols2 = row.find_all('div', class_='b-vacancy-list-salary')
salaries.append({
'categories': cols2[0].div.find_all('meta', class_='baseSalary')
})
for salary in salaries:
print(salary)
def main():
parse(get_html(
'https://jobs.tut.by/search/vacancy?text=%D0%9B%D0%BE%D0%B3%D0%B8%D1%81%D1%82&only_with_salary=false&area=16&enable_snippets=true&clusters=true&salary='))
if __name__ == '__main__':
main()
{'title': 'Специалист \u2062по логистике'}
{'title': 'Специалист \u2062по логистике'}
{'title': 'Специалист по ло\u2062гистике и сервису'}
{'title': 'Специалист \u2062по логистике'}
{'title': 'Менеджер п\u2062о логистике'}
{'title': 'Логист-э\u2062кспедитор'}
{'title': 'Логист / Специалист по о\u2062рганизации грузоперевозок'}
{'title': 'Оператор TMS (лог\u2062ист по транспорту)'}
\u2062
Офлайн
Ну re же
out = re.sub(r'\\u2062', '', salary)
import __hello__
Офлайн
Не совсем понимаю, как воспользоваться Вашим советом)
Офлайн
Добавтье модуль re
А перед print(salary) вставьте приведенный мной код(не нижний - это подпись моя)
Вот так:
import requests import urllib from bs4 import BeautifulSoup import csv from datetime import datetime from multiprocessing import Pool import re #добавили модуль ####Ваш код out = re.sub(r'\\u2062', '', salary) print(out) # уже не print(salary) ####Остальная часть кода
import __hello__
Офлайн
Ругается
import urllib
from bs4 import BeautifulSoup
import re
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')
vacancies = []
for row in table.find_all('div', class_='search-result-description__item search-result-description__item_primary'):
cols = row.find_all('div', class_='search-result-item__head')
vacancies.append({
'title': cols[0].a.text,
})
for vacancy in vacancies:
out = re.sub(r'\\u2062', '', vacancy)
print(out)
def main():
parse(get_html(
'https://jobs.tut.by/search/vacancy?text=%D0%9B%D0%BE%D0%B3%D0%B8%D1%81%D1%82&only_with_salary=false&area=16&enable_snippets=true&clusters=true&salary='))
if __name__ == '__main__':
main()
Парсинг/exp(title).py
Traceback (most recent call last):
File "C:/Users/Anton/PycharmProjects/Парсинг/experimental2(title).py", line 31, in <module>
main()
File "C:/Users/Anton/PycharmProjects/Парсинг/experimental2(title).py", line 28, in main
'https://jobs.tut.by/search/vacancy?text=%D0%9B%D0%BE%D0%B3%D0%B8%D1%81%D1%82&only_with_salary=false&area=16&enable_snippets=true&clusters=true&salary='))
File "C:/Users/Anton/PycharmProjects/Парсинг/experimental2(title).py", line 23, in parse
out = re.sub(r'\\u2062', '', vacancy)
File "C:\Users\Anton\AppData\Local\Programs\Python\Python36-32\lib\re.py", line 191, in sub
return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or bytes-like object
Process finished with exit code 1
Офлайн
Офлайн
Спасибо, что помогли, теперь все красиво)!
Офлайн
Да всегда пожалуйста
import __hello__
Офлайн