0

http://www.verizonwireless.com/wcms/consumer/shop/share-everything.html以下のコードを使用して、この Web ページからデータをスクレイピングしようとしています。

# -*- coding: cp1252 -*-
import csv
import urllib2
import sys
import urllib
import time
from bs4 import BeautifulSoup
from itertools import islice


url = 'http://www.verizonwireless.com/wcms/consumer/shop/share-everything.html'
user_agent = 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1;Trident/5.0)'
req = urllib2.Request(url,headers={ 'User-Agent' : user_agent })
response = urllib2.urlopen(req)
page = response.read()
soup = BeautifulSoup(page)

tabcontent = soup.find('div', {"id": "uttsdPlanOptions", "class": "priceCol2"})
content = tabcontent.findAll('tr')
print content

コンテンツを印刷した後、ウェブサイトに記載されている GB 単位のデータ値を取得していないことに気付きました。「GB」部分の要素を調べてみると、この html 構造<p class="ptData">Shareable Data</p>が見つかりました。この部分には GB についての言及がなく、リンクされた画像もありませんでした。 GB の欠損値を説明できた可能性があります。

4

1 に答える 1

0

探している値はテキストとして存在しません。これは、URL から取得さ/content/dam/vzw/lobs/consumer/shop/share-everything/data-sprite.pngれ、CSS コードを使用してサイズにトリミングされた画像です。

.ptData{min-width:74px;background:transparent url(/content/dam/vzw/lobs/consumer/shop/share-everything/data-sprite.png) no-repeat;padding-top:52px;display:block;}
.data300mb .ptData{background-position:center top;}
.data1 .ptData{background-position:center -72px;}
.data2 .ptData{background-position:center -144px;}
.data4 .ptData{background-position:center -216px;}
.data6 .ptData{background-position:center -288px;}
.data8 .ptData{background-position:center -360px;}
.data10 .ptData{background-position:center -432px;}
.data12 .ptData{background-position:center -504px;}
.data14 .ptData{background-position:center -576px;}
.data16 .ptData{background-position:center -648px;}
.data18 .ptData{background-position:center -720px;}
.data20 .ptData{background-position:center -792px;}
.data30 .ptData{background-position:center -864px;}
.data40 .ptData{background-position:center -936px;}
.data50 .ptData{background-position:center -1008px;}

値を取得しようとしているテーブルには、次のようなレコードがあります。

<td class="data2">
    <p>Unlimited Talk &amp; Text with</p>
    <p class="ptData">Shareable Data</p>
</td>

タグの属性は、前の属性をもとに画像を取得(class継承)します。したがって、タグの属性値から必要な値を導き出すことができます。<p>class<td>class<td>

于 2013-01-31T11:32:23.293 に答える