为什么我的网络刮刀不受蒸汽网址更改的影响?

时间:2015-06-26 21:46:35

标签: python web-scraping beautifulsoup urllib2

我制作了这个网络刮刀,以便为项目名称及其最低价格获取热量。它有效,但它只刮擦第一页(这很好,我正在研究它)。但有趣的是,当我将网址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

1 个答案:

答案 0 :(得分:0)

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

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