2016-04-18 4 views
1

で開いたときに喜んブラウザで開き、Pythonで開いたときに、次のように403 HTTPエラーを返すのウェブサイトがある403を返す:ウェブサイトは、ブラウザに表示されますが、Pythonの

from bs4 import BeautifulSoup 
import urllib2 

link = 'http://niezalezna.pl/' 

r = urllib2.urlopen(link).read() 
soup = BeautifulSoup(r, 'lxml') 

print soup.prettify() 

ウェブサイトに人気がありますニュースサービス。上記のようなコードを使用してURLをオープンすると、HTTP 403エラーを返すようにすることはできますか? ありがとう、

+1

。これを越えるためにユーザエージェントを偽装してください。 – n1c9

+0

正確にはどういう意味ですか? – tsotsi

+2

urllib2でユーザエージェントを設定する方法を探す – n1c9

答えて

1

上記のコメントのおかげで答えが見つかりました。コードは以下の通りです、完全な答えはここで見つけることができます:これは、サイトはスクレーパーを許可しないことを意味Changing user agent on urllib2.urlopen

from bs4 import BeautifulSoup 
import urllib2 

link = 'http://niezalezna.pl/' 

opener = urllib2.build_opener() 
opener.addheaders = [('User-agent', 'Mozilla/5.0')] 
response = opener.open(link) 

soup = BeautifulSoup(response, 'lxml') 

print soup.prettify() 
関連する問題