0
我解析了一些站點地圖的xml,並且我偶然發現了一個特別實現了cloudflare ddos保護的站點。我本來是這樣的:解析帶有標題的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我得到這個錯誤:
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'
上如何去任何想法或意見修復這將不勝感激。
快速高效的響應!謝謝! –