Sending GET Request with fragment identifier in Python(使用Python发送带有片段标识符的GET请求)
问题描述
我正在尝试使用包含片段标识符的REQUESTS模块发送GET请求。我有以下代码:
url = 'http://steamcommunity.com/market/search?appid=730#p20_quantity_desc'
page = requests.get(url, headers=headers)
但是,我最终总是得到基页(http://steamcommunity.com/market/search?appid=730),而不是带有片段标识符的页(#p20_quanitity_description似乎没有发送)。
urllib2也不适用于我的代码:
req = urllib2.Request(url, headers={ 'User-Agent': 'Mozilla/5.0' })
page = urllib2.urlopen(req).read().decode('UTF-8', 'ignore')
如何发送GET请求并在URL中包含#p20_Quanitity_Description?
推荐答案
锚(p20_quantity_desc
)对服务器毫无意义。页面上有一些Javascript改变了基于该锚点的结果的排序顺序,但这是客户端的。Requests/urllib将看到带或不带锚点的同一页面响应。
尝试在页面上禁用Javascript,您就会明白我的意思。
您想要做的是向页面正在使用的API端点发出请求。这里有个例子:
http://steamcommunity.com/market/search/render/?query=&start=0&count=10&search_descriptions=0&sort_column=quantity&sort_dir=asc&appid=730
注意sort_column
参数吗?这是您可以更改的值,以决定结果的顺序。使用像lxml这样的库来解析results_html
字段,然后执行PRESTO,就完成了。
这篇关于使用Python发送带有片段标识符的GET请求的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:使用Python发送带有片段标识符的GET请求


基础教程推荐
- 我什么时候应该在导入时使用方括号 2022-01-01
- 动态更新多个选择框 2022-01-01
- 当用户滚动离开时如何暂停 youtube 嵌入 2022-01-01
- 响应更改 div 大小保持纵横比 2022-01-01
- 角度Apollo设置WatchQuery结果为可用变量 2022-01-01
- 有没有办法使用OpenLayers更改OpenStreetMap中某些要素 2022-09-06
- Karma-Jasmine:如何正确监视 Modal? 2022-01-01
- 悬停时滑动输入并停留几秒钟 2022-01-01
- 在 JS 中获取客户端时区(不是 GMT 偏移量) 2022-01-01
- 在for循环中使用setTimeout 2022-01-01