Jul*_*lio 5 python urllib2 beautifulsoup
在使用同样的技术之前,我一直在抓网站.但是这个网站似乎不起作用.
import urllib2
from BeautifulSoup import BeautifulSoup
url = "http://www.weatheronline.co.uk/weather/maps/current?LANG=en&DATE=1354104000&CONT=euro&LAND=UK&KEY=UK&SORT=1&INT=06&TYP=sonne&ART=tabelle&RUBRIK=akt&R=310&CEL=C"
page=urllib2.urlopen(url).read()
soup = BeautifulSoup(page)
print soup
Run Code Online (Sandbox Code Playgroud)
在输出应该是网页的内容,但我只是得到这个:
GIF89a(它也跟着我在这里不能复制的一些符号)
关于问题是什么以及我应该如何进行的任何想法.
但我想知道为什么我会收到这样的 gif 访问网址,当我通过浏览器访问它时,我完美地获得了该网站。
因为这些人很聪明,不希望他们的网站在网络浏览器之外被访问。您需要做的就是通过将 User-agent 添加到标头来伪造已知的浏览器。这是一个修改后的示例,可以使用
>>> import urllib2
>>> opener = urllib2.build_opener()
>>> opener.addheaders = [('User-agent', 'Mozilla/5.0')]
>>> url = "http://www.weatheronline.co.uk/weather/maps/current?LANG=en&DATE=1354104000&CONT=euro&LAND=UK&KEY=UK&SORT=1&INT=06&TYP=sonne&ART=tabelle&RUBRIK=akt&R=310&CEL=C"
>>> response = opener.open(url)
>>> page = response.read()
>>> from BeautifulSoup import BeautifulSoup
>>> soup = BeautifulSoup(page)
Run Code Online (Sandbox Code Playgroud)