我制作了这个网络刮刀,以便为项目名称及其最低价格获取热量。它有效,但它只刮擦第一页(这很好,我正在研究它)。但有趣的是,当我将网址http://steamcommunity.com/market/search?q=更改为http://steamcommunity.com/market/search?q=#p2(这是第二页项目的网址)时,我得到完全相同的输出,这是第一个项目页。任何帮助,将不胜感激。
以下是完整代码:
import urllib2
from bs4 import BeautifulSoup
page_num = 1
url = 'http://steamcommunity.com/market/search?q='
open_url = urllib2.urlopen(url).read()
market_page = BeautifulSoup(open_url)
for i in market_page('div', {'class' : 'market_listing_row market_recent_listing_row market_listing_searchresult'}):
item_name = i.find_all('span', {'class' : 'market_listing_item_name'})[0].get_text()
price = i.find_all('span')[1].get_text()
page_num += 1
print item_name + ' costs ' + price
答案 0 :(得分:0)
您应该检查页面使用Chrome或Firefox进行的REST调用。看起来正确的终点和参数是这样的: