1

我可以使用以下代码从该网站提取表值。

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参数(我猜它代表起始条目索引)将1用于第二个 - 21,用于第三个 - 41...所以我使用+ 20增量counter

您还应该break在到达最后一页时添加。通常会检查是否有要抓取的新数据,如果没有 -break

于 2018-03-16T11:42:10.327 回答