lai*_*o b 8 python beautifulsoup python-2.7
1 /我正在尝试使用美丽的汤提取脚本的一部分,但它打印无.怎么了 ?
URL = "http://www.reuters.com/video/2014/08/30/woman-who-drank-restaurants-tainted-tea?videoId=341712453"
oururl= urllib2.urlopen(URL).read()
soup = BeautifulSoup(oururl)
for script in soup("script"):
script.extract()
list_of_scripts = soup.findAll("script")
print list_of_scripts
Run Code Online (Sandbox Code Playgroud)
2 /目标是提取属性"transcript"的值:
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "VideoObject",
"video": {
"@type": "VideoObject",
"headline": "Woman who drank restaurant's tainted tea hopes for industry...",
"caption": "Woman who drank restaurant's tainted tea hopes for industry...",
"transcript": "Jan Harding is speaking out for the first time about the ordeal that changed her life. SOUNDBITE: JAN HARDING, DRANK TAINTED TEA, SAYING: \"Immediately my whole mouth was on fire.\" The Utah woman was critically burned in her mouth and esophagus after taking a sip of sweet tea laced with a toxic cleaning solution at Dickey's BBQ. SOUNDBITE: JAN HARDING, DRANK TAINTED TEA, SAYING: \"It was like a fire beyond anything you can imagine. I mean, it was not like drinking hot coffee.\" Authorities say an employee mistakenly mixed the industrial cleaning solution containing lye into the tea thinking it was sugar. The Hardings hope the incident will bring changes in the restaurant industry to avoid such dangerous mixups. SOUNDBITE: JIM HARDING, HUSBAND, SAYING: \"Bottom line, so no one ever has to go through this again.\" The district attorney's office is expected to decide in the coming week whether criminal charges will be filed.",
Run Code Online (Sandbox Code Playgroud)
fal*_*tru 23
extract
从dom中删除标签.这就是为什么你得到空列表.
script
使用type="application/ld+json"
属性查找并使用解码json.loads
.然后,您可以访问Python数据结构等数据.(dict
对于给定的数据)
import json
import urllib2
from bs4 import BeautifulSoup
URL = ("http://www.reuters.com/video/2014/08/30/"
"woman-who-drank-restaurants-tainted-tea?videoId=341712453")
oururl= urllib2.urlopen(URL).read()
soup = BeautifulSoup(oururl)
data = json.loads(soup.find('script', type='application/ld+json').text)
print data['video']['transcript']
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
13023 次 |
最近记录: |