Python Web Crawlers и "получение" html-кода
Итак, мой брат хотел, чтобы я написал веб-искателя в Python (самоучка), и я знаю С++, Java и немного html. Я использую версию 2.7 и читаю библиотеку python, но у меня есть несколько проблем
1. httplib.HTTPConnection
и request
концепция для меня новая, и я не понимаю, загружает ли она html script как cookie или экземпляр. Если вы оба делаете, вы получаете источник для страницы сайта? И какие слова мне нужно знать, чтобы изменить страницу и вернуть измененную страницу.
Только для фона мне нужно загрузить страницу и заменить любой img на те, которые у меня есть
И было бы неплохо, если бы вы, ребята, могли рассказать мне свое мнение об 2.7 и 3.1
Ответы
Ответ 1
Используйте Python 2.7, на данный момент есть больше сторонних библиотек. (Изменить:).
Я рекомендую вам использовать модуль stdlib urllib2
, это позволит вам комфортно получать веб-ресурсы.
Пример:
import urllib2
response = urllib2.urlopen("http://google.de")
page_source = response.read()
Для разбора кода взгляните на BeautifulSoup
.
BTW: что именно вы хотите сделать:
Только для фона мне нужно загрузить страницу и заменить любой img на те, которые у меня есть
Изменить: Теперь, 2014, большинство важных библиотек были перенесены, и вы должны обязательно использовать Python 3, если сможете. python-requests
- очень хорошая библиотека высокого уровня, которая проще в использовании, чем urllib2
.
Ответ 2
Первое, что вам нужно сделать, это прочитать спецификацию HTTP, которая объяснит, что вы можете ожидать получить по проводу. Данные, возвращаемые внутри содержимого, будут отображаться на веб-странице, а не на источнике. Источником может быть JSP, сервлет, CGI script, короче говоря, что угодно, и у вас нет доступа к этому. Вы получаете только HTML-код, отправленный сервером. В случае статической HTML-страницы, тогда да, вы увидите "источник". Но для чего-либо еще вы видите сгенерированный HTML, а не источник.
Когда вы говорите modify the page and return the modified page
, что вы имеете в виду?