我正在使用lxml遍历一个站点。我想要抓取一个包含194个条目的搜索结果。我的抓取器只能抓取搜索结果的第一页。如何抓取其余的搜索结果?
url = 'http://www.alotofcars.com/new_car_search.php?pg=1&byshowroomprice=0.5-500&bycity=Gotham'
response_object = requests.get(url)
# Build DOM tree
dom_tree = html.fromstring(response_object.text)在此之后,有抓取函数
def enter_mmv_in_database(dom_tree,engine):
# Getting make, model, variant
name_selector = CSSSelector('[class="secondary-cell"] p a')
name_results = name_selector(dom_tree)
for n in name_results:
mmv = str(`n.text_content()`).split('\\xa0')
make,model,variant = mmv[0][2:], mmv[1], mmv[2][:-2]
# Now push make, model, variant in Database
print make,model,variant通过查看我收到的列表,我可以看到只解析了搜索结果的第一页。如何解析整个搜索结果?
发布于 2015-09-21 04:10:19
我试着浏览那个网站,但它似乎离线了。然而,我想在逻辑上提供帮助。
我通常做的是:
对于范围(1,last+1)中的page_number:##请求替换'pg‘中的'page_number’GET variable url = "http://www.alotofcars.com/new_car_search.php?pg={}&byshowroomprice=0.5-500&bycity=Gotham'".format(page_number) response_object = requests.get(url) dom_tree = html.fromstring(response_object.text) ... ...
我希望这能帮到你。如果你有任何进一步的问题,请告诉我。
https://stackoverflow.com/questions/32679226
复制相似问题