python get 中一个奇怪的的 bug

2015-08-23 10:48:16 +08:00
 racal

我使用 requests 库进行 get
url1 = 'xxx'
url2 = 'xxxx'
r1=requests.get (url1 )
r2=requests.get (url2 )
print r1.text
print r2.text
结果竟然是相同的,这是怎么回事(两个 url 不同)

2635 次点击
所在节点    Python
8 条回复
Septembers
2015-08-23 10:57:10 +08:00
1. 你确定是完全不同的 URL
2. 标题应当写做“ requests 的 bug ?”
kslr
2015-08-23 10:57:27 +08:00
无法重现,先检查本地问题吧。
racal
2015-08-23 12:48:32 +08:00
@kslr
@Septembers

代码如下
./tbfinder.py
parse.multiProcess ('侠盗小飞机')

./parse/parse.py
def multiProcess (tbname ):
database.getTiebaContent (tbname )
./parse/database.py

def getTiebaContent (tbname )
url = 'http://tieba.baidu.com/f/search/ures?ie=utf-8&kw=&qw=&rn=10&un=' + urllib.quote (
tbname ) + '&only_thread=&sm=1&sd=&ed=&pn=1'
url2 = 'http://tieba.baidu.com/f/search/ures?ie=utf-8&kw=&qw=&rn=10&un=' + urllib.quote (
tbname ) + '&only_thread=&sm=1&sd=&ed=&pn=2'
respone = requests.get (url )
respone1 = requests.get (url2 )
# title = re.findall (r'class="bluelink" target="_blank" >(.*?)</a>',respone.text )
print respone.text
print respone1.text
Damnever
2015-08-23 19:56:21 +08:00
我这种渣都知道 requests.get 有 params 参数,你这写的简直不忍直视……
racal
2015-08-23 22:26:04 +08:00
@Damnever 原代码当然不是这样 这只是单步调试的最简化模型 ,但即使如此返回的结果也是相同
mengzhuo
2015-08-24 08:54:54 +08:00
用其他调试工具看看是不是 cdn 或者防爬虫
xingzhi
2015-08-24 18:37:09 +08:00
建议调试一下,请求前把 url 打印出来,确认一下是否为不同的地址。
怀疑`pn`值没有赋值成功
racal
2015-08-24 21:27:40 +08:00
@xingzhi 单步调试时已经打印出 irl 并确定两个不同了 但怪就怪在即使如此 get 后还是返回了一样的页面

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/215286

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX