我在做一个小的数据收集项目,希望从网站https://www.germanystartupjobs.com/
获得所有的工作。作业作为POST请求加载。我可以进入各个页面,得到POST
请求的卷曲,在终端中播放,得到一些JSON
。我得到的JSON格式如下(我提供了从Firefox
network tab
得到的内容,cURL在终端中也提供了相同的内容)
现在,我所需要的就是html tag
中的内容,我可以使用代码片段遍历相应页面上的href
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个页面,第一个页面的链接是https://www.germanystartupjobs.com/
,其余页面都有相同的链接https://www.germanystartupjobs.com/#s=1
。所以,你不能根据链接判断你在哪一页:可以是3或9我只是不知道。你知道吗
为了总结这个问题,我将为使用Python的所有17个页面获得这个html = data['html']
值,其中我只有2个web链接:https://www.germanystartupjobs.com/
和https://www.germanystartupjobs.com/#s=1
?你知道吗
如果您查看网络面板中的
POST
-选项卡,您应该会看到请求的不同参数。您所在的页面在此选项卡中。你知道吗你可以在你的请求中传递这个参数(在你的
yield scrapy.Request
)这样你就可以在页码上循环,在你的请求中传递它。例如,您可以执行一个请求do get the maximum page numbers(JSON对象中的max_num_pages
),然后以增量方式传递页码,直到您请求每个页码为止。你知道吗查看请求上的documentation。你知道吗
相关问题 更多 >
编程相关推荐