import lxml.html as html
import requests
import time
url = "http://www.world-art.ru/animation/manga.php?id="
folder = ""
counter = 501
info = {}
page = html.parse(url+str(counter)).getroot()
info["name"] = page.xpath("html/body/table/tbody/tr[1]/td/center/table[7]/tbody/tr/td/table/tbody/tr/td[5]/table[2]/tbody/tr/td[3]/font[1]/b")[0].text
info["year"] = page.xpath("html/body/table/tbody/tr[1]/td/center/table[7]/tbody/tr/td/table/tbody/tr/td[5]/table[2]/tbody/tr/td[3]/b/font[1]")[0].text
info["name1"] = page.xpath("html/body/table/tbody/tr[1]/td/center/table[7]/tbody/tr/td/table/tbody/tr/td[5]/table[2]/tbody/tr/td[3]")[0].text
print(info["name1"])
Собственно не достает ни один из элементов. Путь указан верно, т.к. пользовался FirePath'ом. А как достать по-другому не знаю.
Updateimport lxml.html as html
import requests
import time
from lxml import etree
from lxml.html import HTMLParser
# url = "http://animanga.ru/default.aspx?a=book&id="
url = "http://www.world-art.ru/animation/manga.php?id="
folder = ""
counter = 520
info = {}
r = requests.get(url+str(counter))
if r.ok:
page = etree.fromstring(r.text, parser=HTMLParser())
name = page.xpath("//font/b")
for element in name:
if (element.text and element.text.find("манга")!=-1):
string = element.text
string = string[:string.find("(")-1]
print(string)
name_eng = page.xpath("//tr/td/text()")
i = 1
for element in name_eng:
if (i==40):
print(element)
i += 1
year = page.xpath("//font")
for element in year:
string = element.text
if (string and string.isnumeric()):
print(string)
Знаю, что код ужасен и, что name_eng он не получает, но хоть что-то.