概要
indeedの検索結果から「職種名」をスプレッドシートにスクレイピングしたいと思っています。
下記のイメージの赤色で囲った部分のテキストを取得したいです。
発生している問題・エラーメッセージ
tbodyタグを抜き、スクレイピング自体は途中まで出来ているみたいなのですが、
「職種名」だけをうまく抜き出すことが出来ません。
いくつかサイトを参考にさせていただいたのですが、うまく行かず困っています。
該当のソースコード
=IMPORTXML("https://jp.indeed.com/jobs?q=%E3%82%A2%E3%83%AB%E3%83%90%E3%82%A4%E3%83%88&l=%E6%9D%B1%E4%BA%AC","/html/body/table/tr/td/table/tr/td[2]")
試したこと
td[2]以降でdivなどを指定したのですが、うまく行かず…
どなたかお助けいただければ幸いです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
pythonでいいなら
sh
1pip install requests-html 2pip install retry
python
1from requests.exceptions import ConnectionError, TooManyRedirects, HTTPError 2from requests_html import HTMLSession 3from retry import retry 4 5 6# 試行回数:3 間隔:2 指数:2 7# リトライの間隔が2、4、6と増えていく 8@retry(tries=3, delay=2, backoff=2) 9def get_resp(url): 10 try: 11 session = HTMLSession() 12 return session.get(url) 13 except ConnectionError: 14 print('Network Error') 15 raise 16 except TooManyRedirects: 17 print('TooManyRedirects') 18 raise 19 except HTTPError: 20 print('BadResponse') 21 raise 22 23 24try: 25 r = get_resp( 26 'https://jp.indeed.com/jobs?q=%E3%82%A2%E3%83%AB%E3%83%90%E3%82%A4%E3%83%88&l=%E6%9D%B1%E4%BA%AC' 27 ) 28except: 29 print('Response not found') 30else: 31 for i in r.html.find('a[data-tn-element="jobTitle"]'): 32 print(i.attrs['title'])
【インターン/アルバイト】【週3/5H~】PC設定作業/キッティング作業(社内作業のみ 客先なし)
ゲームスクリプター(アルバイト/未経験歓迎)
デバッガー(アルバイト)
【大手流通系企業】クライアントサポートスタッフ(アルバイト・パート)
人気YouTuber「轟ちゃん」企画のアシスタント
人気YouTuber「スカイピース」企画のアシスタント
【プロゲーマー】新宿のコンセプトカフェでゲームするお仕事です【youtuber】
レンタカー回送ドライバー【土曜又は日曜、更に車中泊出来る方尚可】
採点スタッフ、試験監督
PC メンテナンススタッフ パソコンのスキルを身につけたい方に最適なアルバイト
アートギャラリー アルバイト/インターン スタッフ
国立新美術館・展覧会案内スタッフ
激レア 20日間限定 “重要文化財公開イベント”の誘導 案内
1日OK アリオ葛西で(1)アンケート(2)通行量調査
ゲームプランナー(アルバイト/未経験歓迎)
【時給1,200円】 コストコ(costco) アルバイトスタッフ(年末年始の短期募集!)
投稿2018/11/06 12:15
総合スコア1286
0
ベストアンサー
例えば"職種名"を指定して取得するのは如何でしょうか。xpathは//span[text()='職種名']/../..//a
を使用します。
=IMPORTXML("https://jp.indeed.com/jobs?q=%E3%82%A2%E3%83%AB%E3%83%90%E3%82%A4%E3%83%88&l=%E6%9D%B1%E4%BA%AC","//span[text()='職種名']/../..//a")
取得した値が目的のものでない場合はお知らせください。
投稿2018/11/06 03:21
総合スコア899
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/06 03:39
2018/11/06 04:18
2018/11/06 04:37 編集
2018/11/06 04:41
2018/11/06 05:10
2018/11/06 05:57 編集
2018/11/06 06:02
2018/11/06 07:11
2018/11/07 01:31
2018/11/11 22:07
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。