2016-10-20 1 views
1

Так что у меня проблема с захватом страниц html по какой-то причине, когда я отправляю запрос на сайт, а затем пользуюсь html.fromstring(site.content), он захватывает некоторые страницы html, но потом некоторые из них просто распечатывают <Element html at 0x7f6359db3368> Есть ли причина для этого? что я могу сделать, чтобы исправить это? это какой-то тип безопасности? Кроме того, я не хочу, чтобы использовать такие вещи, как Beautiful Soup или Scapy еще .. Я хочу, чтобы узнать некоторые больше, прежде чем я решил попасть в эти библиотеки ...Python: Очистка веб-сайтов, не возвращающих никаких HTML

+1

какой сайт вы отказываетесь? как выглядит остальная часть вашего кода? –

+0

Вы получаете объекты HTML Element. Если вы хотите получить его содержимое, попробуйте добавить '.text' в конец – Mangohero1

+0

Используйте' print (site.content) ', чтобы получить HTML как текст. 'html.fromstring (..)' преобразует HTML в объекты и '' сообщает вам, что у вас есть объект. И теперь вы можете использовать его методы, чтобы легко искать подобъекты, аргументы, текст и т. Д. Прочитайте документацию, как работать с 'Element'. – furas

ответ

1

Может быть, это поможет немного:

import requests 
from lxml import html 

a = requests.get('https://www.python.org/') 
b = html.fromstring(a.content) 
d = b.xpath('.//*[@id="documentation"]/a') #XPath to the blue 'Documentation' near the top of the screen 
print(d)   #prints [<Element a at 0x104f7f318>] 
print(d[0].text) #prints Documentation 

Обычно вы можете найти XPath с инструментами Chrome Developer, после просмотра HTML. Я был бы рад предоставить более конкретную помощь, если вы захотите опубликовать веб-сайт, который вы утилизируете, и то, что вы ищете.

+0

Im Выполнение 3 из них, а затем добавление других позже, когда я узнаю больше о том, как это сделать – Xploit

+0

Простите, я действительно не понимаю. Было бы намного яснее с вашим (упрощенным) кодом, тем, что вы в настоящее время получаете в качестве своего результата, и тем, что ожидаете от вашего результата. –

+0

Просто, чтобы быть ясным, все, что вам нужно, это количество страниц? –

Смежные вопросы