首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获得不同页面的cURL响应?

如何获得不同页面的cURL响应?
EN

Stack Overflow用户
提问于 2016-12-18 11:39:07
回答 1查看 163关注 0票数 0

我正在进行一个小的数据抓取项目,并希望从https://www.germanystartupjobs.com/网站获得所有的工作。这些作业作为POST请求加载。我可以进入各个页面,获取POST请求的POST,并在终端中播放,并获得一些JSON。我得到的JSON格式如下(我提供了从Firefox network tab获得的内容,cURL在终端中也提供了相同的格式),

现在,我所需要的是html tag内部的内容,我可以使用代码片段在相应页面上的href上迭代,

代码语言:javascript
复制
    html = data['html']
    selector = scrapy.Selector(text=data['html'], type="html")
    hrefs = selector.xpath('//a/@href').extract()
    for href in hrefs: 
        // some code 

我使用scrapy,约定是使用start_urls列表来抓取页面,然后,我可以以我喜欢的方式将所有代码放入parse函数中。

这是另一个问题。在各自的网站中,有17页,第1页的链接是https://www.germanystartupjobs.com/,其余的页面有相同的链接https://www.germanystartupjobs.com/#s=1。因此,您不能根据链接来真正判断您所在的页面:可以是3或9,我只是不知道。

总结一下这个问题,我会用html = data['html']得到所有17页的https://www.germanystartupjobs.com/值吗?这里只有两个web链接:https://www.germanystartupjobs.com/https://www.germanystartupjobs.com/#s=1

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-19 08:09:44

如果您查看网络面板中的POST-tab,您应该会看到请求的不同参数。你上的那一页在这个标签上。

您可以在请求中传递此参数(在yield scrapy.Request中也是如此),以便循环页号,将其传递到请求中。例如,您可以执行一个请求,获得最大页码(JSON-对象中的max_num_pages),然后递增地传递页面号,直到您请求其中的每一个。

查看请求上的文档

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

https://stackoverflow.com/questions/41207967

复制
相关文章

相似问题

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