【发布时间】:2018-03-30 10:09:34
【问题描述】:
我正在尝试抓取这个网站:http://www.fivb.org/EN/BeachVolleyball/PlayersRanking_W.asp,但是在页面加载之后,这个页面会加载表格的内容(可能通过 AJAX)。
我的尝试:
import requests
from bs4 import BeautifulSoup, Comment
uri = 'http://www.fivb.org/EN/BeachVolleyball/PlayersRanking_W.asp'
r = requests.get(uri)
soup = BeautifulSoup(r.content)
print(soup)
但是无论我做什么,带有id='BTechPlayM' 的 div 仍然是空的。我试过了:
- 设置请求超时:
requests.get(uri, timeout=10) - 传递标头
- 使用 eventlet 设置延迟
- 最近尝试使用 selenium-library,使用 PhantomJS (installed from NPM),但这个兔子整体越来越深入。
有没有办法向 URI 发送请求,等待 X 秒,然后返回内容?
... 或者要向 URI 发送请求,请继续检查 div 是否包含元素;并且只返回内容,无论何时?
【问题讨论】:
标签: python web-scraping python-requests web-crawler