初めに
ことすたぐらむいいね機能の実装コードとなります。記事のまとめとして、以降の記事で、完成コードを記載したいと思います。
特定のキーワードで検索する
Instagramdeはキーワード検索のurlが決まっており、以下のものになります。
検索URL
https://www.instagram.com/explore/tags/{特定のキーワード}/
こちらの検索urlを用いて検索を行います。検索には時間がかかるため、10秒ほどスリープしていますが、最終コードではWebdriverで実装したいと思います。
instagram.py
#特定のキーワードで検索を行い、最新の投稿10件のurlを取得
def search(self, keyword):
self.get('https://www.instagram.com/explore/tags/{}/'.format(keyword))
sleep(10)
投稿のURLを取得する
検索画面で投稿のリンクurlはInstagramでは以下のブロックに入っています。
リンクのあるブロック
main->article->a
したがって記事のaタグを取得するコードは以下になります。
instagram.py
articles = self.find_element_by_tag_name('main').find_element_by_tag_name('article').find_elements_by_tag_name('a')
リンクはaタグのhrefの値なので、そちらをfor文で回して取得しましょう。
instagram.py
links = []
i=0
for article in articles:
links.append(article.get_attribute('href'))
i = i+1
if i==10:
break
return links
これでリンクを10件上から取得できました。全体のソースは以下になります。
instagram.py
#特定のキーワードで検索を行い、最新の投稿10件のurlを取得
def search(self, keyword):
self.get('https://www.instagram.com/explore/tags/{}/'.format(keyword))
sleep(10)#検索には時間がかかるため、ここはwebdriverを用いたい10秒でも結構ぎり
articles = self.find_element_by_tag_name('main').find_element_by_tag_name('article').find_elements_by_tag_name('a')
links = []
i=0
for article in articles:
links.append(article.get_attribute('href'))
i = i+1
if i==10:
break
return links
終わりに
seleniumは非常に便利なライブラリです。これからも使用機会があると思うので勉強していきます。
現在はサーバー側のことすたぐらむを実装中です。こちらの方も後日記事を載せたいと思います。
最後までご覧くださりありがとうございます。
ご質問などございましたら、コメントよろしくお願いいたします。