5

明らかに、完全な初心者。オープンレコード/政府の透明性/報告などのために、WebスクレイピングのためにセルフPythonを教える。

2012年1月から3月までの週ごとのカレンダーである.aspxページがあります。

しかし、それは形を持っていません...

おそらくあなたは、私が何日もそれと戦う前に、解決策が可能かどうかさえ教えてくれるでしょう。

http://webmail.legis.ga.gov/Calendar/default.aspx?chamber=house

カレンダーで予定を確認する唯一の方法は、カレンダーの写真で日を選択することです。ただし、少なくとも月曜日をクリックすると、その週のすべての予定が表示されます。(各委員会が会合する頻度を数えるために、これらすべての任命を集めたいと思います。どの種類の法律が注目され、どの種類が無視されるかを数えるためのプロキシです。)

しかし、どのような戦略を使用するのでしょうか?毎月、少なくとも腸の下部には、V4414のように「V」が付加された連続する4桁の数字と、付加されていない数字が付いた日が割り当てられているようです。

私は2012年1月から3月までだけ狩りをしています。他の月は非ドイツ語で、ほとんど空です。

手掛かり?

    ...<a href="javascript:__doPostBack('calMain','V4414')" style="color:#333333" title="Go to the previous month">February</a></td><td align="center" style="width:70%;">March 2012</td><td align="right" valign="bottom" style="color:#333333;font-size:8pt;font-weight:bold;width:15%;"><a href="javascript:__doPostBack('calMain','V4474')" style="color:#333333" title="Go to the next month">April</a></td></tr> 

パターン?

    ...<td align="center" style="color:#999999;width:14%;"><a      href="javascript:__doPostBack('calMain','4439')" style="color:#999999" title="February 26">26</a></td><td align="center" style="color:#999999;width:14%;"><a href="javascript:__doPostBack('calMain','4440')" style="color:#999999" title="February 27">27</a></td><td align="center" style="color:#999999;width:14%;"><a href="javascript:__doPostBack('calMain','4441')" style="color:#999999" title="February 28">28</a></td>...

乾杯とありがとう!

4

2 に答える 2

5

フォームには次の 4 つinputの が含まれますname

  • __EVENTTARGET
  • __EVENTARGUMENT
  • __VIEWSTATE
  • __EVENTVALIDATION

後の 2 つには初期値があります。それらをこする必要があります。前者の 2 つは、それらのリンクによって設定されます。たとえば、次のリンクがあります。

<a href="javascript:__doPostBack('calMain','4504')" style="color:Black" title="May 01">1</a>

を見てくださいhref

javascript:__doPostBack('calMain','4504')

どういうわけか、それらの 2 つの文字列を解析します。前者は__EVENTTARGET. 後者は__EVENTARGUMENT.

4 つのデータがすべて揃っPOSTたら、次のページを取得する要求を発行できます。

于 2012-05-04T03:25:08.080 に答える
2

クエリ文字列を作成するようなものを使用して、PythonでPOSTリクエストを複製できます。urllib.parse.urlencode

このためには、明らかにクエリ文字列がどのように見えるかを調べる必要があります。または、 SeleniumRCなどの別のツールを使用することもできます。

于 2012-05-04T03:17:34.100 に答える