为什么我的网络抓取工具不受 Steam URL 变化的影响?

Why is my web scraper not affected by changes in the steam URL?

我构建了这个网络抓取工具来抓取商品名称和最低价格。它有效,但它只抓取了第一页(这很好,我正在努力)。但有趣的是,当我更改 url http://steamcommunity.com/market/search?q= to be http://steamcommunity.com/market/search?q=#p2(即项目第二页的 url)时,我得到完全相同的输出,即来自第一页。任何帮助,将不胜感激。

完整代码如下:

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

您应该检查页面使用 Chrome 或 Firefox 进行的 REST 调用。看起来正确的端点和参数是这样的:

http://steamcommunity.com/market/search?query=&start=10&count=10&search_descriptions=0&sort_column=quantity&sort_dir=desc