Проблемы с количеством объектов в выдаче.
Chewingus opened this issue · 11 comments
Пробуя анализировать дубликаты в выдаче я делал несколько парсингов с одинаковым запросом но разным количеством страниц. Попробовал 54, 64, 74, 84 страницы в параметре end_page
Каждый раз общее количество оъектов росло, на 84 количество стало равным тому, что было при 64. Затем попытки запустить парсинг приводили к выводу начального сообщения и конечного сообщения. Выдача при этом оказывалась пустой. Так продолжалось день (примерно). Затем выдача начала пополняться но только до 5-й страницы (иногда до 4-й). И так уже 3 дня.
С чем это может быть связано? Можно ли это как то починить?
Какая версия была использована?
Под "Затем попытки запустить парсинг приводили к выводу начального сообщения и конечного сообщения" имелось ввиду, что парсер не выдавал ничего?
Под "Затем выдача начала пополняться но только до 5-й страницы (иногда до 4-й)" имеется ввиду, что парсер завершал свою работу на 5 странице (иногда до 4-й), при этом end_page был иным?
Желательно, конечно, иметь логи
Если же это всё проводилось на 0.4.10, то советую перейти более высокую версию (к примеру, сейчас, 0.4.12, в которой была решена проблема с кодировкой), ибо переход на 0.4.11 подразумевал под собой значительные изменения:
- новые поля в выдачи (тип автора, риелтор, застройщик, собственник)
- новые настройки (по типу автора) для парсинга
- более качественные логи
- решение определенных багов (к примеру, завершение работы раньше положенного)
Как раз последний пункт, и покажет актуальность вопроса
-
Под "Затем попытки запустить парсинг приводили к выводу начального сообщения и конечного сообщения" имелось ввиду, что парсер не выдавал ничего? - В ячейке тетрадки выводится первое сообщение
Preparing to collect information from pages..
The absolute path to the file:
...\cian_parsing_result_sale_1_50_moskva_24_Oct_2023_22_43_44_864563.csv
Если сохранение в файл не установлено, то без
The absolute path to the file:
...\cian_parsing_result_sale_1_50_moskva_24_Oct_2023_22_43_44_864563.csv
А дальше:
The collection of information from the pages with list of announcements is completed
Между этими сообщениями ничего. Файл так же пустой. -
Под "Затем выдача начала пополняться но только до 5-й страницы (иногда до 4-й)" имеется ввиду, что парсер завершал свою работу на 5 странице (иногда до 4-й), при этом end_page был иным?
Да. end_page=84. 112-140 объектов примерно. Пробовал менять на больше вплоть до 1000. Когда не выдавал ничего было предположение сначала что мой ip все таки заблокировали, но потом через день выдача все таки началась.
Версия 0.4.10. В ближайшее время установлю версию 12 отпишусь о результатах.
Насчет логов вот все что есть https://github.com/Chewingus/cian_parser_logs, но это уже версия где выдача с 4-мя страницами
Ага, хорошо
Постараюсь в ближайшее время изучить данный вопрос
А вообще, можно обновится сразу до 15 версии
-
в 12 был решен вопрос с установкой
-
в 13 была исправлена иная проблема с установкой, которая встречалась у некоторых пользователей, вне зависимости от версии
-
в 14 было добавлено указание в логах на наличие капчи, в случае его появления
-
в 15 было изменено дефолтное значение express_mode с False на True
Обновился до 15-й. Стало однозначно больше в выдаче объектов. Но почему то закончил на 34 странице при end_page =50. При этом при окончании появилось не понятное сообщение и в некоторых страницах нашлось меньше 28 объектов.
Preparing to collect information from pages..
The absolute path to the file:
D:_Works_Works_in_CADs_Python\Realty\cian_parsing_result_sale_1_50_moskva_25_Oct_2023_20_05_41_448442.csv
The page from which the collection of information begins:
https://cian.ru/cat.php?engine_version=2&p=1®ion=1&offer_type=flat&deal_type=sale&room1=1&with_neighbors=0
Collecting information from pages with list of announcements
1 | 1 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 28. Progress ratio: 2 %. Average price: 55 119 052 rub
2 | 2 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 56. Progress ratio: 4 %. Average price: 48 659 450 rub
3 | 3 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 84. Progress ratio: 6 %. Average price: 38 331 310 rub
4 | 4 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 112. Progress ratio: 8 %. Average price: 33 968 448 rub
5 | 5 page with list: [=>=>=>=>=>=>=>=> ] 29% | Count of all parsed: 120. Progress ratio: 9 %. Average price: 33 064 712 rub
6 | 6 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 148. Progress ratio: 11 %. Average price: 31 329 860 rub
7 | 7 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 176. Progress ratio: 13 %. Average price: 28 651 222 rub
8 | 8 page with list: [=>=>=>=>=>=>=>=>=>=> ] 36% | Count of all parsed: 186. Progress ratio: 14 %. Average price: 28 102 324 rub
9 | 9 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 214. Progress ratio: 16 %. Average price: 26 017 806 rub
10 | 10 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 242. Progress ratio: 18 %. Average price: 24 559 144 rub
11 | 11 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 270. Progress ratio: 20 %. Average price: 23 605 283 rub
12 | 12 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 298. Progress ratio: 22 %. Average price: 23 060 063 rub
13 | 13 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 326. Progress ratio: 24 %. Average price: 22 517 627 rub
14 | 14 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 354. Progress ratio: 26 %. Average price: 21 733 530 rub
15 | 15 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 382. Progress ratio: 28 %. Average price: 21 064 540 rub
16 | 16 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 410. Progress ratio: 30 %. Average price: 20 289 005 rub
17 | 17 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 438. Progress ratio: 32 %. Average price: 19 493 500 rub
18 | 18 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=> ] 47% | Count of all parsed: 451. Progress ratio: 33 %. Average price: 19 175 861 rub
19 | 19 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 479. Progress ratio: 35 %. Average price: 18 600 370 rub
20 | 20 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 507. Progress ratio: 37 %. Average price: 18 124 235 rub
21 | 21 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 535. Progress ratio: 39 %. Average price: 17 732 792 rub
22 | 22 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 563. Progress ratio: 41 %. Average price: 17 407 539 rub
23 | 23 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 591. Progress ratio: 43 %. Average price: 17 148 460 rub
24 | 24 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 619. Progress ratio: 45 %. Average price: 16 941 439 rub
25 | 25 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 647. Progress ratio: 47 %. Average price: 16 789 210 rub
26 | 26 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 675. Progress ratio: 49 %. Average price: 16 690 092 rub
27 | 27 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 703. Progress ratio: 51 %. Average price: 16 636 255 rub
28 | 28 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 731. Progress ratio: 53 %. Average price: 16 622 534 rub
29 | 29 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 759. Progress ratio: 55 %. Average price: 16 650 816 rub
30 | 30 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 787. Progress ratio: 57 %. Average price: 16 712 680 rub
31 | 31 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>] 100% | Count of all parsed: 815. Progress ratio: 59 %. Average price: 16 808 550 rub
32 | 32 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=> ] 61% | Count of all parsed: 832. Progress ratio: 60 %. Average price: 16 892 979 rub
33 | 33 page with list: [=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=>=> ] 65% | Count of all parsed: 850. Progress ratio: 61 %. Average price: 17 024 350 rub
34 | 34 page with list: [=>=>=>=>=>=>=>=> ] 29% | Count of all parsed: 858. Progress ratio: 62 %. Average price: 17 102 480 rub
Exception: invalid literal for int() with base 10: '3млн'
The collection of information from the pages with ending parse on 34 page...
Average price per day: 17 102 480 rub
The collection of information from the pages with list of announcements is completed
Total number of parced announcements: 858. Average price: 17 102 480 rub
CPU times: total: 12 s
Wall time: 2min 1s
Запрос такой
%%time
parse_df = cianparser.parse(
deal_type="sale", # долгосрочная, краткосрочная аренда, продажа ("rent_long", "rent_short", "sale")
accommodation_type="flat", # вид жилья
# (квартира/студия, комната, дом, часть дома, таунхаус)
#("flat", "room", "house", "house-part", "townhouse")
location="Москва", # Поисковый параметр поиска. для просмотра доступных мест используйте cianparser.list_cities()
rooms=(1),
end_page=50,
is_saving_csv=True,
is_express_mode=True
)
Да, вижу, подправил, стоит обновится до 19 версии. В определенной степени был изменен подход к определению стоимости, названия улиц, а также наименований ЖК на более корректный
Подобные ошибки теперь возникать не должны
Всё работает. Точнее работало)) пару запросов и теперь выдает ошибку капчи
1 page: there is CAPTCHA... failed to parse page... ending..
Версия 19
Отлично!
По поводу капчи, попробуйте перезагрузить роутер, должно помочь (в случае, если у вас динамический ip)
И да, по собственному опыту выявил определенное преимущество в использовании мобильного интернета (через раздачу на ноут), при нем никогда не возникало каких либо проблем, связанных с ограничениями (блокировкой, капчей и проч), даже до тех пор, как были добавлены некоторые функциональности для их обхода
Единственно, мне пока не известно, с чем это связано
Добавил в 20 версии аргумент для предоставления proxy, а также описание Cloudflare, CloudScraper, proxies
Спасибо