Comments (6)
我也发现了上述问题:最后拿到的数据all,pc,wise的数据会全部变成wise的数据,但是有个疑问,为啥放在第一个循环会变成这样~
因为传入的是字典,第二层循环 三次追加的formated_data都是指向上一级作用域中的formated_data,所以更改了之后都会变成最后一次的。如果formated_data放入第二层的话,就会生成三个不一样地址的数据,这时候再添加就没有问题了。
但是,第二层每次循环后,不是立刻更新了self.result,按理说已经把更新值写入了,虽然我后来也是把formated_data写到第二层循环,解决问题的
你更新的self.result写入的是上级作用域中formated_data指向的地址,三次都是同一个地址,所以改了对应地址内的数据,三次的数据就都变了
from spider-baiduindex.
问题已解决,从http://index.baidu.com/Interface/ptbk?uniqid=67dbcdcb9621ab994b881981118d3270
这个请求中拿到cookie,放入config.py中可以解决问题
发现代码中的新问题,最后拿到的数据all,pc,wise的数据会全部变成wise的数据,原因是format_data函数中,formated_data放在了第一层for循环中,将其放到第二层for循环里可以解决问题
for i in range(time_len):
for kind in self._all_kind:
formated_data = {
'date': cur_date.strftime('%Y-%m-%d')
}
from spider-baiduindex.
我也发现了上述问题:最后拿到的数据all,pc,wise的数据会全部变成wise的数据,但是有个疑问,为啥放在第一个循环会变成这样~
from spider-baiduindex.
我也发现了上述问题:最后拿到的数据all,pc,wise的数据会全部变成wise的数据,但是有个疑问,为啥放在第一个循环会变成这样~
因为传入的是字典,第二层循环 三次追加的formated_data都是指向上一级作用域中的formated_data,所以更改了之后都会变成最后一次的。如果formated_data放入第二层的话,就会生成三个不一样地址的数据,这时候再添加就没有问题了。
from spider-baiduindex.
我也发现了上述问题:最后拿到的数据all,pc,wise的数据会全部变成wise的数据,但是有个疑问,为啥放在第一个循环会变成这样~
因为传入的是字典,第二层循环 三次追加的formated_data都是指向上一级作用域中的formated_data,所以更改了之后都会变成最后一次的。如果formated_data放入第二层的话,就会生成三个不一样地址的数据,这时候再添加就没有问题了。
但是,第二层每次循环后,不是立刻更新了self.result,按理说已经把更新值写入了,虽然我后来也是把formated_data写到第二层循环,解决问题的
from spider-baiduindex.
我也发现了上述问题:最后拿到的数据all,pc,wise的数据会全部变成wise的数据,但是有个疑问,为啥放在第一个循环会变成这样~
这是python的一个引用问题,python中的赋值操作,相当于引用对方的内存地址,对于可变对象,自身改变,内存地址不变,所以所有引用这个内存地址的变量都会跟着改变。
可以将对象的建立放在第二层循环中,也可以对对象做一个浅复制。
代码已改。
from spider-baiduindex.
Related Issues (20)
- 【教程】如何查询不同城市的百度指数 HOT 2
- 请问如何查询不同类型的百度指数,现在百度指数有pc端,有移动端,还有pc+移动,那么怎么分开爬取呢,感谢 HOT 1
- BaiduIndex.get_index()报错 HOT 1
- 用老代码,突然指数变为:暂无数据 HOT 11
- 每次只能搜索五个关键词吗?能否扩充呢? HOT 8
- 存储到本地 HOT 1
- 【教程】|百度搜索指数例子中的时间间隔为1天,如何将时间间隔改为半年或一年?
- 【教程】我似乎发现一个bug,爬虫时长跨度超过300天,在300天这点重复该关键词查询602次
- Bad Request HOT 5
- 通过手机扫码登陆,扫描到的一瞬间程序报错QdataError: 百度登录失败 HOT 1
- 提供查询周、月、年平均百度指数的尝试。 HOT 1
- 关于 'ERROR-10003: 网络错误' 建议 HOT 2
- 百度品牌指数和品牌搜索指数 HOT 2
- 账号限制查询 HOT 2
- 百度指数填入cookie后仍提示cookie失效
- 或许可以考虑做一个识别cookies是否有效机制?
- 百度的搜索好像不太好用了 HOT 3
- 账号登录是不是要去解析他的js对密码的加密? HOT 1
- 登录获取dbuss的时候返回channel_v中发现可能没有指定内容,从而报错,建议增加循环获取 HOT 1
- 获取uniqid的时候报错
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spider-baiduindex.