首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >构造URL以显示抓取数据的所有结果

构造URL以显示抓取数据的所有结果
EN

Stack Overflow用户
提问于 2011-07-24 15:25:04
回答 1查看 596关注 0票数 0

我是一名GIS学生,在一个专注于映射非结构化数据的项目中工作,在该项目中,我编写了一个php脚本来抓取以下页面,该页面显示了美国GIS职位发布的搜索结果,以导出为xml,地理编码和地图。

http://gisjobs.com/search_results_jobs/?action=search&listing_type%5Bequal%5D=Job&keywords%5Blike%5D=&Country%5Bmulti_like%5D%5B%5D=United+States&State%5Bmulti_like%5D%5B%5D=&City%5Blike%5D=&Salary%5Bnot_less%5D=&Salary%5Bnot_more%5D=&SalaryType%5Bmulti_like%5D%5B%5D=

但是,结果页默认为每页10个结果。你可以改变结果,在搜索后显示100个结果,足以通过抓取一个页面来覆盖所有结果。但是,当您更改为显示100个结果时,URL将更改为:

http://gisjobs.com/search_results_jobs/?listings_per_page=100&restore=&page=1

当从php调用时,它会带来一个空查询。有没有一种方法可以结构化URL以显示所有结果(最多100个),以便只需要抓取一个页面?

(在第一个URL的末尾添加&listings_per_page=100不起作用)

EN

回答 1

Stack Overflow用户

发布于 2011-07-24 16:07:57

这是如何工作的:

http://gisjobs.com/search_results_jobs/?action=search&listing_type[equal]=Job&keywords[like]=&Country[multi_like][]=United+States&State[multi_like][]=&City[like]=&Salary[not_less]=&Salary[not_more]=&listings_per_page=100&SalaryType[multi_like][]=

您只需将属性&listings_per_page=100附加到查询即可。对于其他类似的API,这应该是类似的工作。

看起来你最多可以返回36个结果,除非它们有一个可以指定html、json或xml的format属性。你最好的办法是抓取第一页,使用下一个链接,然后继续爬行,直到你得到你需要的100个工作列表。

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

https://stackoverflow.com/questions/6806138

复制
相关文章

相似问题

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