このページをスクレイピングしようとして数日が経ちました: http://londoncoffeeguide.com/
リクエストまたはスクレイピーを使用しようとしましたが、スクレイピングの世界に慣れていないため、ログインする方法が見つかりません。このウェブサイトにリクエストでログインし、BeautifulSoup を使用してスクレイピングすることはできますか? または、スクレイピーでそれを行うことは可能ですか?
さらに、この例に従ってリクエストをテストし、そこにリンクされている同じページを使用してウィキペディアでテストしようとしました。
import requests
from bs4 import BeautifulSoup as bs
def get_login_token(raw_resp):
soup = bs(raw_resp.text, 'lxml')
token = [n['value'] for n in soup.find_all('input')
if n['name'] == 'wpLoginToken']
return token[0]
payload = {
'wpName': 'my_login',
'wpPassword': 'my_pass!',
'wpLoginAttempt': 'Log in',
#'wpLoginToken': '',
}
with requests.session() as s:
resp = s.get('http://en.wikipedia.org/w/index.php?title=Special:UserLogin')
payload['wpLoginToken'] = get_login_token(resp)
print payload
response_post = s.post('http://en.wikipedia.org/w/index.php?title=Special:UserLogin&action=submitlogin&type=login', data=payload)
response = s.get('http://en.wikipedia.org/wiki/Special:Watchlist')
r = bs(response.content)
print r.get_text()
私が見ているのは、ウィッシュリストページを表示するためにログインするように提案されていることです.
間違いはどこですか?