Я снова с вопросом для замечательных людей здесь :)Возникли проблемы с Python выскабливание
Ive недавно начал получать обратно в питона (50% сделано в codcademy лол) и решил сделать быстрый сценарий для веб-соскабливания спотовой цены на золото в CAD. Это, в конечном счете, станет частью гораздо большего скрипта ... но я ОЧЕНЬ ржавый и думал, что это будет хороший проект.
Мой вопрос: Я следовал за руководство над на http://docs.python-guide.org/en/latest/scenarios/scrape/ для достижения своей цели, однако мой сценарий всегда возвращает/печатает
<Element html at 0xRANDOM>
с ВКОСЬ ЯВЛЯЮЩЕЙСЯ (я предполагаю) случайное шестнадцатеричное число. Это происходит независимо от того, какой веб-сайт я использую.
Мой код:
#!/bin/python
#Scrape current gold spot price in CAD
from lxml import html
import requests
def scraped_price():
page = requests.get('http://goldprice.org/gold-price-canada.html')
tree = html.fromstring(page.content)
print "The full page is: ", tree #added for debug WHERE ERROR OCCURS
bid = tree.xpath("//span[@id='gpotickerLeftCAD_price']/text()")
print "Scraped content: ", bid
return bid
gold_scraper = scraped_price()
Мои исследования:
1) www.w3schools.com/xsl/xpath_syntax.asp
Это где я выяснял использовать «// пядь ', чтобы найти все объекты span и затем использовать @id, чтобы сузить его до того, что мне нужно.
2) Scraping web content using xpath won't work
Это заставляет меня думать, что я просто плохой установки tree.xpath. Однако я не могу понять, где и почему.
Любая помощь будет принята с благодарностью.
переключение на html.tostring дает мне ошибку: Type 'ул' не может быть сериализовать – L8NIT3TR0UBL3
@ L8NIT3TR0UBL3 хорошо, попробуйте сейчас, спасибо. – alecxe
Я не совсем уверен, что понимаю, у моего кода есть раздел html.fromstring в переменной «tree», который при изменении на «tostring» дает ошибку сериализации. Я не уверен, как реализовать свое исправление в моем коде. Я прошу прощения, это был долгий день, и я не работал на полную мощность lol - может быть, селен был бы лучшей идеей для меня lol – L8NIT3TR0UBL3