32812


ウェブスクレイピングをしてツイッターのアカウントを収集しているのですが、  
あるウェブサイトがどうしてもスクレイピングできなくて、困っています。

以前、ツイフィール(※1)というサイトをウェブスクレイピングしたことがありました。  
このウェブサイトをスクレイピングする際は、  
<http://twpf.jp/search/profile?page=2>  
の`page=2`の部分を3、4、5・・・とforループを回して変更していき、  
情報を収集することができていました。

今回はツイフィールではなくて、ツイプロ(※2)というウェブサイトをスクレイピングしたいと考えています。  
しかし、ウェブスクレイピングできない部分があって困っております。  
例えば、ツイプロでデザイナのカテゴリに登録されているアカウントを収集したいとき(※3)、  
最初は１ページに20件しか表示されていなく、「もっと見る」ボタンを押すことで更に20件読み込むことができます。  
しかし、「もっと見る」ボタンを押す前と、押した後で、ウェブのURLは変わっていません。  
ですので、ツイフィールのときに利用したような手法は使えないと考えています。  
このように、ページングした時にウェブのURLが変わらないタイプのサイトは、  
どのような手法でウェブスクレイピングすればいいのでしょうか？

言語はpythonで、スクレピングのライブラリはbeautifulsoupを使っています。

※1 <http://twpf.jp/>  
※2 <https://twpro.jp/>  
※3 <https://twpro.jp/j/0104>


CC BY-SA 3.0
2017-02-08T13:46:00.893
32506
2017-04-03T05:20:13.163
2017-02-08T16:07:13.057
3068
7699
question
python twitter web-scraping
動的にDOMが生成されるサイトのスクレイピングについて


[BeautifulSoup:
1つのURLで「承認」ボタンを押した後のみ表示されるHTMLをスクレイピングしたい(意訳)](https://stackoverflow.com/questions/36704329/beautifulsoup-
scrape-html-only-accessible-after-clicking-accept-in-the-same-u)
のように、本家SOに[類似の質問](https://stackoverflow.com/questions/14147441/can-beautiful-
soup-also-hit-webpage-events)が見つかります。  
その回答によると、seleniumなどを併用しないとイベントの発火はできないようです。

このようなサイトをスクレイピングする場合は、BeautifulSoupだけでは限界があると認識しています。

ただし※3のサイトのソースを確認したところ、URLの末尾に`/{数値}`を追加すれば目的の情報は得られそうですが…。


CC BY-SA 3.0
2017-02-20T12:36:20.150
32812
2017-02-20T12:36:20.150
2017-05-23T12:38:55.307
-1
9820
32506
answer