Here is the Website I am trying to scrape http://livingwage.mit.edu/Python-> Beautifulsoup-> Webscraping-> URL(1〜53)の上にループして保存結果
特定のURLが
http://livingwage.mit.edu/states/01
http://livingwage.mit.edu/states/02
http://livingwage.mit.edu/states/04 (For some reason they skipped 03)
...all the way to...
http://livingwage.mit.edu/states/56
からそして、これらのURLのそれぞれに、私が必要としています第二表の最後の行:http://livingwage.mit.edu/states/01
必要な年収のため
例税引前$ 20260 $ 42786 $ 51642 $ 64767 $ 34325 $ 42305 $ 47345 $ 53206 $ 34325 $ 47691 $ 56934 $ 66997
欲望出力:
アラバマ$ 20260 $ 42786 $ 51642 $ 64767 $ 34325 $ 42305 $ 47345 $ 53206 $ 34325 $ 47691 $ 56934 $ 66997
アラスカ$2.407万$ 49295 $ 60933 $ 79,871 $ 38,561 $ 47,136 $ 52,233 $ 61,531 $ 38,561 $ 54,433 $ 66,316 $ 82,403
...
...
ワイオミング$ 20867 $ 42689 $ 52007 $ 65892 $ 34988 $ 41887 $ 46983 $ 53549 $ 34988 $ 47826 $ 57391いじりの2時間後に$ 68424
、これは私が(私は初心者です)これまで持っているものです。
私はPythonコンソールにSTATE_NAMEと行を見たときimport requests, bs4
res = requests.get('http://livingwage.mit.edu/states/01')
res.raise_for_status()
states = bs4.BeautifulSoup(res.text)
state_name=states.select('h1')
table = states.find_all('table')[1]
rows = table.find_all('tr', 'odd')[4:]
result=[]
result.append(state_name)
result.append(rows)
それは私のhtml要素
[<h1>Living Wag...Alabama</h1>]
を与えます
と
[<tr class = "odd... </td> </tr>]
問題1:これらは私が所望の出力にしたいものですが、どのように私はPythonのではなく、HTMLよりも上記のような文字列形式で私にそれを与えるために得ることができますか?
問題2:どのようにrequest.get(url01〜url56)をループするのですか?
ありがとうございました。
コード内のrows変数に効率的にアクセスできる方法を提供できる場合は、PythonのPythonではないので、私は非常に感謝しています。
ありがとう、これは私が必要とするものです。さて、私はこれを私の質問の受け入れられた答えとどのようにマークするのですか? –
@OmiSlash。心配しないで、私はあなたがそれを理解したのを見ます。 –
私はあなたのコードを勉強している最後の数日間を過ごしました、そして、それは私の頭の上に右に行った非常にpythonicだと言う必要があります。 男に魚を与えるという言葉があります。あなたは一日彼に餌を与え、魚を釣るように教えて、あなたは一生の間彼に餌を与えます。私はリクエストのドキュメントを読んでいて、いくつかの基本的なhtmlを理解しています。 私はあなたからの魚を受け取りました。あなたがいつもウェブスクラップであなたの助けを請うために戻ってくることを望んでいない限り(そしてあなたはいくつかの正しい点を獲得するでしょう)、思考やワークフロープロセスあなたはこのコードを作成しますか? –