2016-10-10 7 views
0

を使用して、この映画のウェブサイトをこすりすることができません:http://www.21cineplex.com/nowplaying私はここに映画のウェブサイトをスクラップしようとしていますBeautifulSoup

私はこの質問では画像としてHTML本体とスクリーンショットをアップロードしています。 link to screenshot here<P>タグの一部である映画のタイトルと説明を取得しようとするのが難しいです。いくつかの奇妙な理由で、記述は要求オブジェクトの一部ではありません。また、ulとクラス名を見つけるためにスープを使用しようとしたとき、それを見つけることができません。誰でも知っている理由は?このサーバはRefererヘッダをチェックしている

r = requests.get('http://www.21cineplex.com/nowplaying') 
    r.text (no description here) 
    soup = bs4.BeautifulSoup(r.text) 
    soup.find('ul', class_='w462') # why is this empty? 
+0

あなたが実際のWebブラウザではないことを認識した場合、サーバが別のページを送信する可能性があります。リクエストで 'user-agent'ヘッダを設定しようとします。 – furas

答えて

1

:私のpython 3を使用していますこれは、これまでのところ、私のコードです。 Refererがなければ、メインページを送信します。しかし、このヘッダーのテキストはチェックされないので、空の文字列であってもかまいません。

import requests 
import bs4 

headers = { 
    #'Referer': any url (or even random text, or empty string) 

    #'Referer': 'http://google.com', 
    #'Referer': 'http://www.21cineplex.com', 
    #'Referer': 'hello world!', 
    'Referer': '', 
} 

s = requests.get('http://www.21cineplex.com/nowplaying', headers=headers) 
soup = bs4.BeautifulSoup(s.text) 

for x in soup.find_all('ul', class_='w462'): 
    print(x.text) 

for x in soup.select('ul.w462'): 
    print(x.text) 

for x in soup.select('ul.w462'): 
    print(x.select('a')[0].text) 
    print(x.select('p')[0].text) 
関連する問題