Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 10, 2022 15:27:20

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2728
Репутация: +  183  -
Профиль   Отправить e-mail  

парсинг авито

> … далеко можно зайти так. да?

Давай почитаем феншуй дзен. Ведь там такое написано… Да?

Явное лучше, чем неявное.
Простое лучше, чем сложное.
Сложное лучше, чем запутанное.

Читаемость имеет значение.
Никто не ожидает присваивание посреди выражения и если оно всё таки происходит, то место в котором произошло присваивание просто теряется. По этому использование оператора := запутывает код и ухудшает его читаемость. Поверь если ты напишешь лишнюю строчку с нормальным присваиванием, то руки у тебя не отвалятся, а разобраться в коде будет намного проще. Но похоже что ты о таких “мелочах” даже не задумываешься…

> У меня он вообще не срабатывает.

Он только внутри выражений работает.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Отредактировано Rodegast (Сен. 10, 2022 16:04:08)

Офлайн

#2 Сен. 10, 2022 16:21:28

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

парсинг авито

ну это в стандарте
уже
да?
тогда о чем речь?
чего кто то не ждет?

хотя … а не хочу я с вами эээ ругаться (не это слишком сильно) препираться
давайте сойдемся на том что можно …
но можно и учитывать читаемость для привыкших к более консервативному написанию кода ок )



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Офлайн

#3 Сен. 10, 2022 16:47:05

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2728
Репутация: +  183  -
Профиль   Отправить e-mail  

парсинг авито

> ну это в стандарте

И что? После того как Гвидо доканали в стандарт льётся всякое разное как из рога изобилия… Но это не значит что всем этим нужно бездумно пользоваться.



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#4 Сен. 10, 2022 20:17:57

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1337
Репутация: +  116  -
Профиль   Отправить e-mail  

парсинг авито

Rodegast
Никогда не используй оператор := Это не по феншую.
да, я уже понял что это не по феншую, стал запускать код на ноуте и заругался на эту строчку
py.user.next
Ты думаешь, все бросятся обновлять эту сеть?
как раз подумал, что не стану обновлять питон из-за этой строчки, просто что-то лень.

Офлайн

#5 Сен. 11, 2022 01:14:05

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9795
Репутация: +  849  -
Профиль   Отправить e-mail  

парсинг авито

Rodegast
> У меня он вообще не срабатывает.
Он только внутри выражений работает.
Не, он работает везде. Просто он появился в версии 3.8, а у меня версия меньше.

Так-то у меня есть альфа-версия последняя
Python 3.10.0a0
  
>>> if x := 1:
...     print(x)
... 
1
>>> if x := 0:
...     print(x)
... 
>>> 
Но это не значит, что я тут же бросаюсь устанавливать последний релиз повсюду, когда он там появляется. Чтобы поставить самый новый питон, надо поставить новую операционную систему, в которой есть репозитории с новым питоном и все новые библиотеки, которые ему там нужны, чтобы фурычить полноценно. Чтобы поставить новую операционную систему, надо купить новый компьютер, в котором хватает оперативной памяти для этой новой операционной системы, иначе всё будет работать в целом, но будет просто тормозить через каждые три секунды. И таких компьютеров у меня не одна штука. Естественно, я не буду весь свой парк обновлять ради того, чтобы какие-то питоновцы могли порадоваться тому, как я их новой фичей пользуюсь и как она классно работает. Причём нужность этой фичи в реальных проектах ещё под большим вопросом. Это просто свистелки и перделки, синтаксический сахар.



Отредактировано py.user.next (Сен. 11, 2022 01:15:49)

Офлайн

#6 Сен. 11, 2022 12:16:39

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2728
Репутация: +  183  -
Профиль   Отправить e-mail  

парсинг авито

> Не, он работает везде. Просто он появился в версии 3.8, а у меня версия меньше.

 Python 3.9.2 (default, Feb 28 2021, 17:03:44)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> a := 5
File "<stdin>", line 1
a := 5
^
SyntaxError: invalid syntax
>>> s = (a := 5)
>>>



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Офлайн

#7 Сен. 11, 2022 12:40:29

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1337
Репутация: +  116  -
Профиль   Отправить e-mail  

парсинг авито

py.user.next
Твой-то я запускал, ничего не выводит у меня, потому что нет там в ответе классов этих.
я свой код на линуксе запускаю, срабатывает без проблем
 
авто
https://www.avito.ru/krasnodar/predlozheniya_uslug/arenda_avto_bez_zaloga_724834988
https://www.avito.ru/pyatigorskiy/knigi_i_zhurnaly/avtomobili_uchet_armeniya_2521072265
https://www.avito.ru/sankt-peterburg/predlozheniya_uslug/arenda_avto_avto_v_prokat_1276365417
https://www.avito.ru/moskva/predlozheniya_uslug/arenda_avtomobili_pod_taksi._bez_zaloga_2262204672
https://www.avito.ru/sankt-peterburg/predlozheniya_uslug/vykup_avto_srochnyy_vykup_avtomobiley_2174777139...

а с ноута на винде, этот код дает страницу, что ваш ip подозрительный и остальное бла, бла, бла
нужно с заголовками наверное играться, чтоб не блокировало

Офлайн

#8 Сен. 11, 2022 17:42:22

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

парсинг авито

используй прокси их как *.* чего
только они в основном они не https

ps и еще curl to python




1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Сен. 11, 2022 19:44:50)

Офлайн

#9 Сен. 12, 2022 00:59:50

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9795
Репутация: +  849  -
Профиль   Отправить e-mail  

парсинг авито

xam1816
я свой код на линуксе запускаю, срабатывает без проблем
xam1816
а с ноута на винде, этот код дает страницу, что ваш ip подозрительный и остальное бла, бла, бла
Это твой код с print'ом
  
>>> from bs4 import BeautifulSoup
>>> import requests
>>> 
>>> def f():
...     product = input()
...     url = "https://www.avito.ru/rossiya?q=" + product
...     request = requests.get(url)
...     print(request.text)
...     bs = BeautifulSoup(request.text, "html.parser")
...     all_links = bs.find_all('div', class_='iva-item-titleStep-pdebR')
...     for link in all_links:
...         a = link.find('a', href=True)
...         if a:
...             print('https://www.avito.ru' + a['href'])
... 
>>> f()
авто
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="HandheldFriendly" content="True">
    <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no">
    <title>Доступ ограничен: проблема с IP</title>
    <style>
    ...
Видимо, она детектирует, браузер это просматривает или нет. Если не браузер, то отказывает в доступе вот таким образом. Не факт, что по IP.



Отредактировано py.user.next (Сен. 12, 2022 01:02:18)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version