Форум сайта python.su
0
Добрый день.
Я только учусь писать на Python и у меня возник следующий вопрос: на данный момент я пишу код для парсинга сайта rp5.ru Суть данного кода заключается в том что бы скачивать информацию о погоде.
Но у меня абсолютно не получается, если вы поможете мне разобраться буду очень благодарен. Вот код:
import lxml.html import io from urllib import request import requests from urllib.parse import urljoin from lxml.html import fromstring url = "http://rp5.ru/%D0%9F%D0%BE%D0%B3%D0%BE%D0%B4%D0%B0_%D0%B2_%D0%9A%D1%80%D0%B0%D1%81%D0%BD%D0%BE%D0%B4%D0%B0%D1%80%D0%B5,_%D0%9A%D1%80%D0%B0%D1%81%D0%BD%D0%BE%D0%B4%D0%B0%D1%80%D1%81%D0%BA%D0%B8%D0%B9_%D0%BA%D1%80%D0%B0%D0%B9" http_proxy = "http://R_VG:Zd213HYr@10.5.45.250:3128" proxyDict = { "http" : http_proxy } r = requests.get(url, proxies=proxyDict) html= fromstring(r.content) temp= html.xpath("//div[@class='t_0']/a/text()")[0]
Traceback (most recent call last): File "C:/Python32/xd", line 18, in <module> html= fromstring(r.content) File "C:\Python32\lib\site-packages\lxml\html\__init__.py", line 630, in fromstring if start.startswith('<html') or start.startswith('<!doctype'): TypeError: expected an object with the buffer interface
Офлайн
63
Что это вообще такое???
import lxml.html import io from urllib import request import requests from urllib.parse import urljoin from lxml.html import fromstring
html= lxml.html.fromstring(r.content)
from lxml.html import fromstring
res = urllib.parse.urljoin....
import lxml.html import io import urllib import requests
Отредактировано 4kpt (Сен. 3, 2013 12:54:37)
Офлайн
0
4kpt
Спасибо большое за ссылке, обязательно почитаю.
У меня самая большая беда, в том что у меня подключение идет через прокси сервер, и я не совсем понимаю правильно ли я с ним работаю, почитав литературу в интернете не очень получилось разобраться, вы не подскажете нет ли у меня в этом ошибки?
Офлайн
0
Посмотрите в сторону библиотеки Grab.
Офлайн
from grab import Grab g = Grab() g.setup(proxy='http://R_VG:Zd213HYr@10.5.45.250:3128') g.go('http://rp5.ru/%D0%9F%D0%BE%D0%B3%D0%BE%D0%B4%D0%B0_%D0%B2_%D0%9A%D1%80%D0%B0%D1%81%D0%BD%D0%BE%D0%B4%D0%B0%D1%80%D0%B5,_%D0%9A%D1%80%D0%B0%D1%81%D0%BD%D0%BE%D0%B4%D0%B0%D1%80%D1%81%D0%BA%D0%B8%D0%B9_%D0%BA%D1%80%D0%B0%D0%B9') print g.doc.select('//span[@class="t_0"]').text()
Отредактировано lorien (Сен. 3, 2013 15:38:26)
Офлайн
0
Спасибо большое, но при выполнении этого скрипта, в строке print g.doc.select('//span').text()
подсвечивает g красным, и пишет invalid syntax.
Из-за чего это может быть?
Офлайн
63
Какой питон?
Офлайн
0
3.2
Офлайн
63
print(g.doc.select('//span[@class="t_0"]').text())
Офлайн
0
Теперь все еще веселее
Выдает следующую ошибку…
Traceback (most recent call last): File "C:/Python32/Lib/45", line 1, in <module> from grab import Grab ImportError: No module named grab Traceback (most recent call last): ** IDLE Internal Exception: File "idlelib\run.py", line 98, in main ret = method(*args, **kwargs) File "idlelib\run.py", line 306, in runcode jit = self.rpchandler.console.getvar("<<toggle-jit-stack-viewer>>") File "idlelib\rpc.py", line 558, in __getattr__ raise AttributeError(name) AttributeError: getvar
Офлайн