首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用lxml遍历跨多个页面的搜索结果

如何使用lxml遍历跨多个页面的搜索结果
EN

Stack Overflow用户
提问于 2015-09-20 20:08:37
回答 1查看 532关注 0票数 1

我正在使用lxml遍历一个站点。我想要抓取一个包含194个条目的搜索结果。我的抓取器只能抓取搜索结果的第一页。如何抓取其余的搜索结果?

代码语言:javascript
复制
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)

在此之后,有抓取函数

代码语言:javascript
复制
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

通过查看我收到的列表,我可以看到只解析了搜索结果的第一页。如何解析整个搜索结果?

EN

回答 1

Stack Overflow用户

发布于 2015-09-21 04:10:19

我试着浏览那个网站,但它似乎离线了。然而,我想在逻辑上提供帮助。

我通常做的是:

  1. 使用lxml向搜索URL (填充了参数)
  2. 发出请求,从第一页到最后一页提取分页URL中的最后一个页可用编号,发出请求并抓取所需数据:

对于范围(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) ... ...

我希望这能帮到你。如果你有任何进一步的问题,请告诉我。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32679226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档