深層に対するスクレイピングがうまくいかない Python


> <https://www.nikkei.com/nkd/company/?scode=3911>

このページの

  1. 現在値(15:00) 410 円
  2. 始値 (9:03) 422 円
  3. 高値 (9:03) 422 円
  4. 安値 (14:05) 399 円

の4つをうまく取得したいのですが、現在値を単体は簡単に取れるのですが2~4が取れません。  
いい方法を教えていただきたいです。よろしくおねがいします。

[code]

    <ul class="m-stockInfo_detail_list">
        <li>
            <span class="m-stockInfo_detail_title">始値 (9:03)</span>
            <span class="m-stockInfo_detail_value">422<span class="m-stockInfo_detail_unit"> 円</span></span>
        </li>
        <li>
            <span class="m-stockInfo_detail_title">高値 (9:03)</span>
            <span class="m-stockInfo_detail_value">422<span class="m-stockInfo_detail_unit"> 円</span></span>
        </li>
        <li>
            <span class="m-stockInfo_detail_title">安値 (14:05)</span>
            <span class="m-stockInfo_detail_value">399<span class="m-stockInfo_detail_unit"> 円</span></span>
        </li>
    </ul>
    
[/code]

使っているモジュール

> import urllib2 from bs4  
>  import BeautifulSoup




### 新しい回答（動作確認済み）

`nth-child`を使わず、一旦複数の近い要素をリストとして要素したあとに、それぞれの項目をよしなに扱うことで適切に取得できるようです。

[code]

    import requests
    from bs4 import BeautifulSoup
    url = 'https://www.nikkei.com/nkd/company/?scode=3911'
    html = requests.get(url)
    soup = BeautifulSoup(html.text, "html.parser")
    detail_values = soup.select("#JSID_stockInfo > div.m-stockInfo_top > div.m-stockInfo_top_left > div.m-stockInfo_detail.m-stockInfo_detail_01 > div.m-stockInfo_detail_left > ul > li > span.m-stockInfo_detail_value")
    for dv in detail_values:
        print(dv.text)
    
[/code]

* * *

### [以前の回答](https://ja.stackoverflow.com/a/48434/29826)について

ブラウザ上で取得できるのを確認したため、てっきり普通に取得できるものと考えていたのですが、実はBeautifulSoupでは疑似クラスの実装が完全ではなく（`nth-
child`が未実装なので）、`li:nth-child(1)`で以下のエラーが出るため上記のクエリを利用しても取得できないことが判明しました。

> NotImplementedError: Only the following pseudo-classes are implemented: nth-
> of-type.

謹んでお詫び申し上げます。

