1.python id函数的输出值问题
id方法的返回值就是对象的内存地址。
python中会为每个出现的对象分配内存,哪怕他们的值完全相等(注意是相等不是相同)。如执行a=2.0,b=2.0这两个语句时会先后为2.0这个Float类型对象分配内存,然后将a与b分别指向这两个对象。所以a与b指向的不是同一对象:
>>> a=2.0
>>> b=2.0
>>> a is b
False
>>> a==b
True
但是为了提高内存利用效率对于一些简单的对象,如一些数值较小的int对象,python采取重用对象内存的办法,如指向a=2,b=2时,由于2作为简单的int类型且数值小,python不会两次为其分配内存,而是只分配一次,然后将a与b同时指向已分配的对象:
>>> a=2
>>> b=2
>>> a is b
True
如果赋值的不是2而是大的数值,情况就跟前面的一样了:
>>> a=5555
>>> b=5555
>>> a is b
False
>>> id(a)
12464372
>>> id(b)
12464396
2.python爬虫中怎么写反爬虫
初级阶段
1、判定User-Agent 是否正常
2、cookie陷阱【每次请求需要携带cookie,cookie不对证明不是一个人】
3、ip限制访问【一个ip在单位时间内只能访问多少次】
4、如果登录的话就用户名密码呗【单位时间内访问多少次,和ip一起使用】
5、ip访问频率快一点感觉像爬虫的给他重定向到验证码页面,图片的像12306那种恶心人的,如果这个ip没办法做或者直接断掉了,记录他断掉次数,高于多少,封ip
6、页面标签陷阱,本该没办法直观看到的或者没办法直观点击的标签,被触发很明显不是个好人或者活人封他
转载请注明出处编程代码网 » pythonid()