я следующее:Как сцепить LXML строку с другой строкой в Python
import urllib
import lxml.html
connection = urllib.urlopen('http://example.com')
dom = lxml.html.fromstring(connection.read())
for link in dom.xpath('//div[@id="right-column"]//a/@href'):
print link
Моя проблема заключается в том, что каждый link
из этого for loop
не содержит весь путь ссылки, но только то, что приходит после http://example.com
.
Пример переменной ссылка:
/andrew-darius-et-al-mob-app-maker
/andrew-darius-et-al-explaindio-3-0
Теперь, что я хотел бы сделать, это конкатенация connection
и link
в этом for
петли, так что у меня будет полный путь:
http://example.com/andrew-darius-et-al-mob-app-maker
http://example.com/andrew-darius-et-al-explaindio-3-0
EDIT 1:
import urllib
import lxml.html
from urlparse import urljoin
URL = urllib.urlopen('http://muncheye.com')
dom = lxml.html.fromstring(URL.read())
for link in dom.xpath('//div[@id="right-column"]//a/@href'):
FINAL_URL = urljoin('http://muncheye.com', link)
print FINAL_URL
Что не так с 'print 'http://example.com' + link'? –
Безопасный способ сделать это, чтобы использовать [urlparse.urljoin] (https://docs.python.org/2/library/urlparse.html#urlparse.urljoin) –
@ParkerHoyes Я не знаю, насколько это безопасно повторное использование этой строки –