我想从这里抓取数据: http://finance.yahoo.com/stock-center/ 在该页面中有一个名为" Market Movers"的部分,其中有3列:"最活跃的","%Gainers"," %失败者",每个都是可点击的。 该部分列出了10只股票。同样在第10个库存的末尾有一个可点击的矩形"再加载10个"。
我想要做的是点击"%Gainers",同时点击"再加载10个",查看前20名获奖者列表并抓取数据蟒蛇。但是,在这两次点击之后,URL与以前相同。
我很感激你的帮助。
答案 0 :(得分:3)
这是动态html生成,通过一些javascript文件完成。一个典型的刮刀(beautifulsoup4,scrapy)不会选择它,因为它只加载初始刮刀。你需要使用像Selenium这样的网络驱动程序。它模拟用户点击,这很棒,因为它调用javascript文件,并生成必要的html。然后你就可以使用像beautifulsoup4这样的东西来拿起它并抓住它。
有关Selenium的信息:http://www.seleniumhq.org/projects/webdriver/和http://selenium.googlecode.com/svn/trunk/docs/api/py/index.html
谷歌搜索" python selenium web scraping"产生了大量的博客和教程,以帮助您入门。