私は、beatifulsoup、Python、リクエスト、およびdjangoを使用するアプリケーションに取り組んでいます。私は美しいスープを使う方法を掴んでいます。しかし、掘り下げはさまざまな要素のように思えるが、時々混乱する。私は、最高のものではないが、投稿からのリンクを拾い読みし、それらのリンクを使って投稿の詳細ページに行く関数を作成しました。そのページから、facebookのURLとそれに関連付けられたイメージを含むスクリプトデータをスクラップします。これは私のscraper.pybeautifulsoupの結果から返された辞書から値を抽出するにはどうすればよいですか?
def panties():
pan_url = 'http://www.panvideos.com'
html = requests.get(pan_url, headers=headers)
soup = BeautifulSoup(html.text, 'html5lib')
video_row = soup.find_all('div', {'class': 'video'})
def youtube_link(url):
youtube_page = requests.get(url, headers=headers)
soupdata = BeautifulSoup(youtube_page.text, 'html5lib')
video_row = soupdata.find('div', {'class': 'video-player'})
entries = [{'text': str(div),
} for div in video_row][3]
return entries
entries = [{'text': div.h4.text,
'href': div.a.get('href'),
'tube': youtube_link(div.a.get('href')),
} for div in video_row][:3]
return entries
私のviews.pyから
pan = panties()
context = {
'pan': pan,
}
return render(request, 'index.html', context)
と私のテンプレートでは、それは
を返す何{% for p in pan %}
Title: {{p.text}}<br>
Href: {{p.href}}<br>
Tube: {{p.tube}}<hr>
{% endfor %}
と相続人からのコード
です
Title: Juanka - Esperando por ti (Official Video)
Href: http://www.videos.com/video/2962/juanka-esperando-por-ti-official-video-/
Tube: {'text': '<script type="text/javascript">jwplayer("video-setup").setup({file:"http://www.youtube.com/watch?v=QL4JFUHd71o",image:"http://i1.ytimg.com/vi/QL4JFUHd71o/maxresdefault.jpg",primary:"html5",stretching:"fill","controlbar":"bottom",width:"100%",aspectratio:"16:9",autostart:"true",logo:{file:"http://www.panvideos.com/uploads/gopcds-png5787dbcd53a72.png",position:"bottom-right",link:"http://www.panvideos.com/"},sharing:{link:"http://www.panvideos.com/video/2962/juanka-esperando-por-ti-official-video-/","sites":["facebook","twitter","linkedin","pinterest","tumblr","googleplus","reddit"]}});</script>'}
私の事は、私はそれぞれのビデオおよび画像です
http://www.youtube.com/watch?v=QL4JFUHd71o
と
http://i1.ytimg.com/vi/QL4JFUHd71o/maxresdefault.jpg
をしたいです。どうすればこれを達成できますか?私のコードは石で設定されていませんし、それを動作させるために変更しても構いません。アドバイスをいただき、ありがとうございます。
こんにちはおかげでそれらを見つける必要があり、昏睡
,
、うまくいけばと
{}
を取り除き、および分割になるだろう応答のために。しかし、どうすればこのコードを自分のコードに適合させることができますか?あなたのソリューションは、あなたの定義によるp.tubeまたはスープがテンプレート内にあるので、自分のコードで説明したように機能しません。 (スープ) スープ=スープ[s.end:-2] – loseeあなたは持っているものと私のコードを取り入れてもらえますか?私はs = re( "。セットアップ( "、スープ)私は"再呼び出し不可能 "エラーが発生しました – losee
上記の私の前の応答を参照してください – losee