- 1
- 2
- 3
- 4
# ....цикл....
massiv['Текст статьи'].append(BeautifulSoup(urllib.request.urlopen(link).read()).select('.news-detail'))
# ....цикл....
return massiv
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−92
# ....цикл....
massiv['Текст статьи'].append(BeautifulSoup(urllib.request.urlopen(link).read()).select('.news-detail'))
# ....цикл....
return massiv
Взято отсюда https://plus.google.com/u/0/109791202896921426720/posts/JagdUYx2d67
Может, в этом проблема? Я его пробовал году так в 2010.
Методом тыка было определено, что он не переваривал одинарные кавычки.
А вот за такое надо сразу убивать.
1. супу можно задать фильтр для элементов, которые вообще стоит записывать в дерево. Фильтр, конечно, более убогий чем механизмы выборки из готового дерева, но всё равно помогает. Мне пригодилось, когда нужно было выдрать одинокий script без src из страницы.
2. Во умолчанию текстовые элементы, возвращаемые супом - не строки, а узлы, которые помнят свои родительские элементы. Так что после выполнения этой строчки всё разобранное дерево документа останется в памяти.
2. Там не слабые ссылки? Пичально. Не знаю, как в lxml.
2. Нет, не слабые. И по-моему это так и задумано, иначе нельзя будет гарантированно ходить по DOM-дереву, имея ссылку на узел из него. Если очень надо, есть метод для выдирания узла с потомками из контекста дерева, хотя в данном случае можно и проще.
2. Может привести к пичальке, когда ты открываешь кучу документов и сохраняешь из каждого кусочек дерева в надежне, что остальное будет убито - авотхер. lxml тоже имеет метод getroottree()
В инете рекомендуют deepcopy(), но если оно сохранит ссылки на ненужные элементы дерева, я не вижу, чем это должно помочь.
Ну тащем-то это описано, но кто же в наши дни читает документацию? Если не заработает, спрошу на stackoverflow.
Я lxml имел в виду, на супе похожая проблема?
Удалили в версии для третьего питона хоть, или посредине ветки снесли?
Боюсь подумать если б на пхп написали...
Вот какая моча бьет в голову даже авторам довольно серьезных расширений.