Я разбираю XML-файл sitemap, и я наткнулся на один сайт, в частности, который реализует защиту ddos от cloudflare. Первоначально я имел что-то вроде этого:Анализ XML с заголовками
from xml.dom import minidom
import urllib, urllib2
url='http://rsvpgallery.com/sitemap_products_1.xml?from=1&to=9999999999'
xml = urllib.urlopen(url).read()
Проверка переменной XML, мы можем видеть, что это приводит к странице защиты CloudFlare и что сайт запретил мой доступ, основанный на подписи моего браузера.
Чтобы исправить это, я хочу реализовать добавление заголовка User-Agent. Я имею в виду что-то вроде этого:
...
req = urllib2.Request(url)
req.add_header('User-Agent', 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/47.0.2526.106 Chrome/47.0.2526.106 Safari/537.36')
resp = urllib2.urlopen(req)
url = resp.read()
...
Но когда я иду, чтобы объявить XML с этой новой переменной URL-адрес, я получаю эту ошибку:
xml = urllib.urlopen(url).read()
File "/usr/lib/python2.7/urllib.py", line 87, in urlopen
return opener.open(url)
File "/usr/lib/python2.7/urllib.py", line 205, in open
return self.open_unknown(fullurl, data)
File "/usr/lib/python2.7/urllib.py", line 217, in open_unknown
raise IOError, ('url error', 'unknown url type', type)
IOError: [Errno url error] unknown url type: '?xml%20version=%221.0%22%20encoding=%22utf-8%22?%3e%0a%3curlset%20xmlns=%22http'
Любые мысли или идеи о том, как идти о исправление этого было бы весьма полезно.
Быстрый и эффективный ответ! Спасибо! –