1

次のコードを使用して、このWeb サイトからテーブルの値を抽出できます。

from pyquery import PyQuery as pq
import requests

url = "https://finviz.com/screener.ashx"
content = requests.get(url).content
doc = pq(content)
Tickers = doc(".screener-link-primary").text()

print(Tickers)

しかし、最初の 20 個の値しか抽出できません。ページの最後に「次へ」ボタンがあり、次の値セットへのリンクがあります。

このリンクを自動的に抽出し、新しいページを取得して新しい値のセットを抽出し、既存のリストに追加するにはどうすればよいですか?

4

1 に答える 1

1

次のようにすべてのページを反復処理できます。

counter = 1

while True:
    url = "https://finviz.com/screener.ashx?v=111&r=%d" % counter
    content = requests.get(url).content
    counter += 20

最初のページのrパラメーター (開始エントリ インデックスを表すと思われます) は、2 番目の - 、3 番目の - になることに1注意21してください41+ 20counter

break最後のページに到達した瞬間も追加する必要があります。通常、スクレイピングする新しいデータが利用可能かどうかを確認し、そうでない場合は -break

于 2018-03-16T11:42:10.327 に答える