LXML Невозможно получить веб-страницу с ошибкой «Не удалось загрузить HTTP Resource»
Вопрос
Привет, поэтому я попытался открыть ссылку ниже в браузере, и он работает, но не в коде.Ссылка на самом деле является комбинацией новостного сайта, а затем расширение статьи вызывается из другого файла URL.TXT.Я попробовал код с обычным веб-сайтом (www.google.com), и он отлично работает.
import sys
import MySQLdb
from mechanize import Browser
from bs4 import BeautifulSoup, SoupStrainer
from nltk import word_tokenize
from nltk.tokenize import *
import urllib2
import nltk, re, pprint
import mechanize #html form filling
import lxml.html
with open("url.txt","r") as f:
first_line = f.readline()
#print first_line
url = "http://channelnewsasia.com/&s" + (first_line)
t = lxml.html.parse(url)
print t.find(".//title").text
.
И это ошибка, которую я получаю.
И это содержимое URL.TXT
/news/asiapacific/australia-to-send-armed/1284790.html
Решение
Это из-за генеракодицетагкодной части URL-адреса - это определенно не нужно:
url = "http://channelnewsasia.com" + first_line
.
Также детали URL лучше соединены с использованием recogracodiccode :
from urlparse import urljoin
import lxml.html
BASE_URL = "http://channelnewsasia.com"
with open("url.txt") as f:
first_line = f.readline()
url = urljoin(BASE_URL, first_line)
t = lxml.html.parse(url)
print t.find(".//title").text
.
Печать:
Australia to send armed personnel to MH17 site - Channel NewsAsia
. Не связан с StackOverflow