如何实现每次请求更换user_agent?

以这种遍历的方式爬信息,应该是每遍历一个地址都对应有一次请求吧,那每次请求的时候也应该是随机的请求头才对,但是我设置的随机请求头在遍历range(5, 1000)整个过程从来没有换过user_agent,只有重新运行程序才会出现新的user_agent。所以我对这个随机请求头有什么误解吧!还是range(5, 1000)只发生了一次请求?如何实现随每次请求更换user_agent呢?(单个爬虫,非框架)


user_agent = [
    "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50",
    "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50",
    "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0"]

headers = {'User-Agent': random.choice(user_agent)}

urls = [f'https://api.bilibili.com/x/web-interface/view?aid={av_num}' for av_num in range(5, 1000)]

for url in urls:
    response = requests.request("get", url, headers=headers)
    print(headers)

2个回答

当程序运行到

headers = {'User-Agent': random.choice(user_agent)}

_这里时,choice函数会随机挑选一个请求头,将它赋值给headers,从此headers的值就确定下来了。
如果需要随机更换请求头,需要把上面的语句移至for循环之内。更改后的代码如下:

import requests
import random

user_agent = [
    "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50",
    "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50",
    "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0"]


urls = [f'https://api.bilibili.com/x/web-interface/view?aid={av_num}' for av_num in range(5, 1000)]

for url in urls:
    headers = {'User-Agent': random.choice(user_agent)}
    response = requests.request("get", url, headers=headers)
    print(headers)

为什么要随机更换user_agent。如果你是为了反爬,那么更换ip更有效。没有人把user-agent当作区分是不是同一个客户端的依据。

Rbute
Rbute 通常如你所说,不过在学习阶段更重要的是想明白实现的逻辑.
3 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
php获取$_SERVER['HTTP_USER_AGENT']是空的,为什么?

php 想知道浏览器的相关参数,我就用$_SERVER['HTTP_USER_AGENT']获取,发现是空的,print_r($_SERVER);发现并没有HTTP_USER_AGENT这个字段,有没有大佬指导一下啊,我要怎么获取?为什么是空的?

在html请求中加入User-Agent

我想用java做一个数据爬虫,需要绕过访客系统,可是我不知道如何在请求中加入消息头

python报错:KeyError: 'user_id'

#coding:utf-8 import pandas as pd import numpy as np import time import datetime import gc from sklearn.preprocessing import LabelEncoder,OneHotEncoder def pre_process(data): cols = data.columns.tolist() keys = ['instance_id', 'day'] for k in keys: cols.remove(k) return data, cols def dorollWin(data): data['context_timestamp_str'] = data['context_timestamp'].astype(str) user_time_join = data.groupby(test.user_id)['context_timestamp_str'].agg(lambda x:';'.join(x)).reset_index() user_time_join.rename(columns={'context_timestamp_str':'user_time_join'},inplace = True) data = pd.merge(data,user_time_join,on=[test.user_id],how='left') user_shop_time_join = data.groupby([test.user_id,'shop_id'])['context_timestamp_str'].agg(lambda x:';'.join(x)).reset_index() user_shop_time_join.rename(columns={'context_timestamp_str':'user_shop_time_join'},inplace = True) data = pd.merge(data,user_shop_time_join,on=[test.user_id,'shop_id'],how='left') user_item_time_join = data.groupby([test.user_id,'item_id'])['context_timestamp_str'].agg(lambda x:';'.join(x)).reset_index() user_item_time_join.rename(columns={'context_timestamp_str':'user_item_time_join'},inplace = True) data = pd.merge(data,user_item_time_join,on=[test.user_id,'item_id'],how='left') data['index_']=data.index del user_time_join,user_shop_time_join,user_item_time_join nowtime=data.context_timestamp.values user_time=data.user_time_join.values user_shop_time=data.user_shop_time_join.values user_item_time=data.user_item_time_join.values data_len=data.shape[0] user_time_10_bf=np.zeros(data_len) user_time_10_af=np.zeros(data_len) user_shop_time_10_bf=np.zeros(data_len) user_shop_time_10_af=np.zeros(data_len) user_item_time_10_bf=np.zeros(data_len) user_item_time_10_af=np.zeros(data_len) a=time.time() for i in range(data_len): df1=nowtime[i] df2=user_time[i].split(';') df2_len=len(df2) for j in range(df2_len): if ((int(df2[j])-df1)<600) & ((int(df2[j])-df1)>0): user_time_10_bf[i]+=1 if ((int(df2[j])-df1)>-600) & ((int(df2[j])-df1)<0): user_time_10_af[i]+=1 df3=user_shop_time[i].split(';') df3_len=len(df3) for j in range(df3_len): if ((int(df3[j])-df1)<600) & ((int(df3[j])-df1)>0): user_shop_time_10_bf[i]+=1 if ((int(df3[j])-df1)>-600) & ((int(df3[j])-df1)<0): user_shop_time_10_af[i]+=1 df4=user_item_time[i].split(';') df4_len=len(df4) for j in range(df4_len): if ((int(df4[j])-df1)<600) & ((int(df4[j])-df1)>0): user_item_time_10_bf[i]+=1 if ((int(df4[j])-df1)>-600) & ((int(df4[j])-df1)<0): user_item_time_10_af[i]+=1 print(time.time()-a) data['user_count_10_bf']=user_time_10_bf data['user_count_10_af']=user_time_10_af data['user_shop_count_10_bf']=user_shop_time_10_bf data['user_shop_count_10_af']=user_shop_time_10_af data['user_item_count_10_bf']=user_item_time_10_bf data['user_item_count_10_af']=user_item_time_10_af drops = ['context_timestamp_str', 'user_time_join', 'user_shop_time_join', 'user_item_time_join', 'index_'] data = data.drop(drops, axis=1) return data def doSize(data): add = pd.DataFrame(data.groupby(["shop_id", "day"]).item_id.nunique()).reset_index() add.columns = ["shop_id", "day", "shop_item_unique_day"] data = data.merge(add, on=["shop_id", "day"], how="left") user_query_day = data.groupby(['user_id', 'day']).size().reset_index().rename(columns={0: 'user_id_query_day'}) data = pd.merge(data, user_query_day, how='left', on=['user_id', 'day']) data['min_10'] = data['minute'] // 10 data['min_15'] = data['minute'] // 15 data['min_30'] = data['minute'] // 30 data['min_45'] = data['minute'] // 45 # user 不同时间段点击次数 min10_user_click = data.groupby(['user_id', 'day', 'hour', 'min_10']).size().reset_index().rename(columns={0:'min10_user_click'}) min15_user_click = data.groupby(['user_id', 'day', 'hour', 'min_15']).size().reset_index().rename(columns={0:'min15_user_click'}) min30_user_click = data.groupby(['user_id', 'day', 'hour', 'min_30']).size().reset_index().rename(columns={0:'min30_user_click'}) min45_user_click = data.groupby(['user_id', 'day', 'hour', 'min_45']).size().reset_index().rename(columns={0:'min45_user_click'}) data = pd.merge(data, min10_user_click, 'left', on=['user_id', 'day', 'hour', 'min_10']) data = pd.merge(data, min15_user_click, 'left', on=['user_id', 'day', 'hour', 'min_15']) data = pd.merge(data, min30_user_click, 'left', on=['user_id', 'day', 'hour', 'min_30']) data = pd.merge(data, min45_user_click, 'left', on=['user_id', 'day', 'hour', 'min_45']) del data['min_10'] del data['min_15'] del data['min_30'] del data['min_45'] return data def doElse(data): pass def main(): path = 'F:/18ijcaidata/' train = pd.read_csv(path+'train_day7.csv',encoding='utf-8') test = pd.read_csv(path+'test_day7.csv',encoding='utf-8') data = pd.concat([train, test]) print('初始维度:', data.shape) data, cols = pre_process(data) print('pre_process:', data.shape) ################################## data = dorollWin(data) print('dorollWin:', data.shape) data = doSize(data) print('doSize:', data.shape) ################################## data = data.drop(cols, axis=1) # 得到7号训练集 data = data.loc[data.day == 7] data = data.drop('day', axis=1) print('经过处理后,7号数据集最终维度::',data.shape) print(data.columns.tolist()) data.to_csv(path+'103_statistics_feat.csv', index=False) if __name__ == '__main__': #??????????????运行此行,出现key error:'user_id' main() ``` ```

nginx如何屏蔽爬虫(YisouSpider、Googlebot等),有酬谢

网站被爬虫爬得扛不住了。。想把这些爬虫都屏蔽了。。 nginx下配有多个站点。。nginx.conf里是没有server字段的。。只有各个站点的.conf文件里有。。 我按照网上的说法,在nginx.conf的server字段(nginx.conf的server字段也是我自己加的)中加入了以下内容: if ($http_user_agent ~* "qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot|ia_archiver|Tomato Bot") { return 403; } 但是用curl -I -A "Googlebot" www.XXX.com,仍然没有返回403。。 太不靠谱了。。 求高手指点。。 另外robots.txt也不好使。。那个东西全靠自觉。。我想要能主动禁止他们。。。因为有的流氓爬虫显然没法用那个解决 nginx.conf内容如下: #user nobody; worker_processes 2; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid文件的位置 pid nginx.pid; events { worker_connections 10240; } http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; # open(OUTFILE, ">>/home/wamdm/perl_learn/a"); # print OUTFILE ($r->uri,"\n"); # close (OUTFILE); perl_set $fix_upper_lower_case ' use File::Basename; sub { my $r = shift; my $uri = $r->uri; my $filepath = $r->filename; my $uri_prefix = substr($uri, 0, rindex($uri, "/") + 1); my $dir = dirname($filepath); my $filename = basename($filepath); opendir(my $dh, $dir) || die ("~~fail to open dir $dir"); my @files = grep { /$filename/i && -f "$dir/$_" } readdir($dh); closedir($dh); if (@files > 0) { return "$uri_prefix@files[0]"; } return $r->uri; } '; server { if ($http_user_agent ~* "MJ12bot|qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|YandexBot|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot|ia_archiver|Tomato Bot") { return 403; } # listen 80; # server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; # location / { # root html; # index index.html index.htm; # } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # # error_page 500 502 503 504 /50x.html; # location = /50x.html { # root html; # } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} } # another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # location / { # root html; # index index.html index.htm; # } #} # HTTPS server # #server { # listen 443; # server_name localhost; # ssl on; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_timeout 5m; # ssl_protocols SSLv2 SSLv3 TLSv1; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} } 站点的conf文件如下: server { listen 80; server_name computer.cdblp.cn; access_log /home/wamdm/sites/logs/computer.access.log main; error_log /home/wamdm/sites/logs/computer.error.log error; root /home/wamdm/sites/searchscholar/computer; index index.php index.html index.htm; rewrite "^/conference/([^/]+)$" /con_detail.php?con_title=$1 last; rewrite "^/conference/([^/]+)/$" /con_detail.php?con_title=$1 last; if ($http_user_agent ~* "qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot|ia_archiver|Tomato Bot") { return 403; } #大小转换的补丁,处理从windows平台(大小写不敏感)迁移到ubuntu(大小写敏感)的站点 #对于需要url重写生效的请求失效 #if ( !-e $request_filename ) { # rewrite ^(.*)$ $fix_upper_lower_case last; #} #location /{ # include agent_deny.conf; # } #favicon.ico不用打日志 location = /favicon.ico { log_not_found off; access_log off; } #不允许访问隐藏文件 location ~ /\. { deny all; access_log off; log_not_found off; } #访问图片,flash文件等不用打日志 location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 7d; #文件返回的过期时间是7天 access_log off; } #访问js和css文件不用打日志 location ~ .*\.(js|css)?$ { expires 1d; #文件返回的过期时间是1天 access_log off; } #设置php-cgi location ~ [^/]\.php(/|$) { fastcgi_split_path_info ^(.+?\.php)(/.*)$; #拦截不存在的php页面请求 if (!-f $document_root$fastcgi_script_name) { return 404; } } }

centos编译出错 ,TCP_USER_TIMEOUT选项未定义

想使用使用TCP Keep-alive加上TCP_USER_TIMEOUT机制,解决通信对端异常断网、掉电的情况下,连接被长期挂起的问题了,但编译出错,Linux内核版本为4.4。 error: 'TCP_USER_TIMEOUT' was not declared in this scope

高德/百度地图API申请的key出现INVALID_USER_SCODE android

key值按照上面的提交了sha1值与包名,可以肯定包名正确但真机调试出现了INVALID_USER_SCODE,只有白色网格,查了一天发现我的sha1值并没有错似乎是debug模式与release模式的问题,然而并不清楚怎么解决,请问一下这个应该如何解决?

PHP使用ignore_user_abort的问题

A页面中为 ```*********上面有代码************* ob_end_flush(); ob_start(); echo "true"; header("Connection: close"); header("HTTP/1.1 200 OK"); $size=ob_get_length(); header("Content-Length: $size"); ob_end_flush(); flush(); ignore_user_abort(true); set_time_limit(0); sleep(10); *********下面还有继续执行的代码************* ..... .. ``` 然后B页面通过ajax获取到A页面的返回值true,然后用户可以浏览其它页面,A页面还能继续执行下面的代码(全部执行完大概要20-30s) ``` $.post('xx.php', function (data) { if (data == "true") { //OK! }); ``` 但是,现在的问题是,可以获取到返回值了,但是必须等待A页面完全执行完,才能浏览服务器其它所有页面,请问哪里出了问题吗?

关于php 后台运行函数 ignore_user_abort()的疑问

官方链接:http://php.net/manual/zh/function.ignore-user-abort.php int ignore_user_abort ([ bool $value ] ) 设置客户端断开连接时是否中断脚本的执行 PHP 以命令行脚本执行时,当脚本终端结束,脚本不会被立即中止,除非设置 value 为 TRUE,否则脚本输出任意字符时会被中止。 今天测试是,出现value设置为false,在脚本中echo '123' 字符都没有停止,切继续执行了;官方说明是;除非value设为true,**否则脚本输出任意字符时会被中止** 想问为何没有设置value为true,输出字符却没有停止脚本 有知道的大神请赐教!

get_user_pages返回44,哪位大神指点一下可能的原因啊?

get_user_pages返回44,哪位大神指点一下可能的原因啊?

请教一下为什么oracle视图user_tables 中的blocks字段的值突然翻了好几倍?

请教一下为什么oracle视图user_tables 中的blocks字段的值突然翻了好几倍?

做一个flume收集到另一个flume,再传给hdfs,但是现在flume连接hdfs出现如下错误

![![图片说明](https://img-ask.csdn.net/upload/201512/29/1451378748_777711.png) ![图片说明](https://img-ask.csdn.net/upload/201512/29/1451379043_209254.png) 错误主要是这个:Failed to start agent because dependencies were not found in classpath.上图是报错,麻烦大神解决 下面是配置文件 #master_agent master_agent.channels = c2 master_agent.sources = s2 master_agent.sinks = k2 #master_agent avrosources master_agent.sources.s2.type = avro master_agent.sources.s2.bind = master1 master_agent.sources.s2.port = 41415 master_agent.sources.s2.channels = c2 #master_agent filechannels master_agent.channels.c2.type = file master_agent.channels.c2.capacity = 100000 master_agent.channels.c2.transactionCapacity = 1000 #master_agent hdfssinks master_agent.sinks.k2.type = hdfs master_agent.sinks.k2.channel = c2 master_agent.sinks.k2.hdfs.path = hdfs://master1:9000/hdfs master_agent.sinks.k2.hdfs.filePrefix = test- master_agent.sinks.k2.hdfs.inUsePrefix = _ master_agent.sinks.k2.hdfs.inUseSuffix = .tmp master_agent.sinks.k2.hdfs.fileType = DataStream master_agent.sinks.k2.hdfs.writeFormat = Text master_agent.sinks.k2.hdfs.batchSize = 1000 master_agent.sinks.k2.hdfs.callTimeout = 6000

Winform中修改WebBrowser控件User-Agent的方法

Winform中修改WebBrowser控件User-Agent在网上的方法找来找去就那一个类,但是我试了没用,具体怎么回事,是我操作哪里不对吗?

python爬虫读不出网站代码的问题

import urllib import urllib2 page=1 url='http://www.qiushibaike.com/hot/page/'+str(page) user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)' headers={'User_Agent': user_agent} try: request=urllib2.Request(url,headers=headers) response=urllib2.urlopen(request) print response.read() except urllib2.URLError,e: if hasattr(e,"code"): print e.code if hasattr(e,"reason"): print e.reason 用了代理还是读不出网页代码 raise BadStatusLine(line) BadStatusLine: '' 这是错误提示

Winform中修改WebkitBrowser控件修改User-Agent的方法

我在Winform中修改WebBrowser控件修改User-Agent的方法貌似对WebkitBrowser无效,我已经修改为手机了, 图上一个是webbrowser,一个是WebkitBrowser,同时打开百度,一个是手机端,一个确实网页端的,为什么WebkitBrowser还是pc端?谢谢了

videojs如何添加请求头

请问有大神知道videojs请求视频是怎么发送请求的吗?可以在这个请求中加入请求头吗?因为视频地址必须要有某个请求头才能访问,否则请求时是403 forbidden

hibernate注解id用了sqlserver的关键字user_id

如题,如何才能一注解的方式吧映射的字段名改成:[user_id];我试过用@column(name='[user_id]')会报错:user_id (should be mapped with insert="false" update="false"),重复定义了字段。。。如何解啊?

sql语句优化,很着急,在线等,sql如下

SELECT t1.user_id AS user_id, t1.user_name AS user_name, t1.serv_num AS serv_num, t1.create_date AS create_date, t1.connect_type AS connect_type, t1.login_device AS login_device, t1.login_time AS login_time, ( SELECT timestampdiff(DAY, t1.create_date, now()) ) AS reg_day, ifnull(t2.totalcount, 0) AS buy_day, ifnull( count(DISTINCT c.order_no), 0 ) AS buy_orders, ifnull(sum(c.price * c.num), 0) AS buy_mon, ifnull( count(DISTINCT s.order_no), 0 ) AS def_orders, ifnull(sum(s.refund_price), 0) AS def_mon, ifnull(count(ar.area_name), 0) AS addr_flag, ifnull(count(shopc.cart_id), 0) AS cart_flag, ar.area_name AS area_name FROM g_customer t1 LEFT JOIN g_serial_records t ON t1.user_id = t.user_id AND pay_time IS NOT NULL AND pay_time != '1900-01-01 00:00:00' LEFT JOIN g_consume_records c ON c.user_id = t1.user_id AND c.order_no = t.order_no LEFT JOIN g_refund_records s ON t1.user_id = s.user_id AND (s.state != '6') AND t.order_no = s.order_no AND s.product_id = c.product_id AND s.sku_no = c.sku_no LEFT JOIN ( SELECT t2.user_id AS user_id, count(t2.user_id) AS totalcount FROM ( SELECT user_id, date_format(create_date, '%y%m%d') FROM g_serial_records WHERE pay_time > '1900-01-01 00:00:00' GROUP BY date_format(create_date, '%y%m%d'), user_id ) t2 GROUP BY t2.user_id ) t2 ON t.user_id = t2.user_id LEFT JOIN g_shopping_cart shopc ON shopc.user_id = t1.user_id LEFT JOIN ( SELECT ad.area_name, ad.user_id FROM ( SELECT min(newa.create_date), newa.user_id, newa.area_name FROM g_customer_addr newa GROUP BY newa.user_id ) ad GROUP BY ad.user_id ) ar ON ar.user_id = t1.user_id GROUP BY t1.user_id

python使用requests.get时,请求头的cookie是随机变化的,该怎么写请求头?

例如以下是请求的url: http://search.10jqka.com.cn/stockpick/search?typed=0&preParams=&ts=1&f=1&qs=result_original&selfsectsn=&querytype=stock&searchfilter=&tid=stockpick&w=%E5%B8%82%E7%9B%88%E7%8E%87%E5%A4%A7%E4%BA%8E%E7%AD%89%E4%BA%8E21%E5%80%8D%E4%B8%94%E5%B8%82%E7%9B%88%E7%8E%87%E5%B0%8F%E4%BA%8E%E7%AD%89%E4%BA%8E22%E5%80%8D&queryarea= 以下请求头: Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,ja;q=0.7,zh-TW;q=0.6,vi;q=0.5 Cache-Control: max-age=0 Connection: keep-alive Cookie: Hm_lvt_78c58f01938e4d85eaf619eae71b4ed1=1550575085,1552764171; PHPSESSID=e9cddc3108ec629d2db0c2f2e30ce810; cid=e9cddc3108ec629d2db0c2f2e30ce8101552829178; ComputerID=e9cddc3108ec629d2db0c2f2e30ce8101552829178; other_uid=ths_mobile_iwencai_2e6c84325ffc4a0b201b430c00d1df46; iwencaisearchquery=%E8%BF%9E%E7%BB%AD15%E5%B9%B4%E6%89%A3%E9%9D%9E%E5%87%80%E5%88%A9%E6%B6%A6%E5%A4%A7%E4%BA%8E0%20%E5%B8%82%E5%87%80%E7%8E%87%E4%BD%8E%E4%BA%8E2%20roe%E9%AB%98%E4%BA%8E10%25%20%E5%B8%82%E7%9B%88%E7%8E%87%E4%BD%8E%E4%BA%8E20; guideState=1; Hm_lpvt_78c58f01938e4d85eaf619eae71b4ed1=1552835669; v=AoFMlTW5uV-o89Vrfg5AnBoTkMaYrvY4Hy-ZvOPWfVvmsa8wK_4FcK9yqbBw Host: search.10jqka.com.cn Referer: http://search.10jqka.com.cn/stockpick/search?typed=1&preParams=&ts=1&f=1&qs=result_rewrite&selfsectsn=&querytype=stock&searchfilter=&tid=stockpick&w=%E5%B8%82%E7%9B%88%E7%8E%87%E5%A4%A7%E4%BA%8E%E7%AD%89%E4%BA%8E21%E5%80%8D%E4%B8%94%E5%B8%82%E7%9B%88%E7%8E%87%E5%B0%8F%E4%BA%8E%E7%AD%89%E4%BA%8E22%E5%80%8D&queryarea= Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36 我的代码: r=requests.get(myurl,headers=myheader) 其中myurl就是上面要请求的url,myheader就是上面的请求头 如果请求头里不包含cookie,那么r.text的结果就显示异常,根本不是我想要的信息: ![图片说明](https://img-ask.csdn.net/upload/201903/18/1552889612_367617.jpg) 若是请求头里包含了cookie,那么r.text就显示正常(正常的我就不列出来了)。但问题来了:这个cookie是随机没有规律的,而且过一段时间就失效,而且好像我打开新的网页也会重置什么的,那我怎么才能写请求头呢?

0x800a1391-JavaScript 运行时错误:“admin_user_shen“未定义

<html xmlns="http://www.w3.org/1999/xhtml"> <script src="@Url.Content("~/Scripts/jquery-1.9.1.js")" type="text/javascript"></script> <head><title> </title><link href="images/css.css" rel="stylesheet" type="text/css" /> <script src="../Scripts/opcldb.js" type="text/javascript"></script> <script> function funExec() { var selcnt = funSelectedTotal("tbInfo"); var exen = funExistNum("de", selcnt); if (exen) { if (confirm("确认你的选择吗")) { var isok = admin_user_shen.SetMy(funGetSelectedID("tbInfo")).value; if (isok == "1" || isok == 1) { alert("恭喜你,审核成功!"); window.location.href = "user_shen.aspx"; } else { alert("操作失败,请稍候重试!"); } } } }

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

springboot+jwt实现token登陆权限认证

一 前言 此篇文章的内容也是学习不久,终于到周末有时间码一篇文章分享知识追寻者的粉丝们,学完本篇文章,读者将对token类的登陆认证流程有个全面的了解,可以动态搭建自己的登陆认证过程;对小项目而已是个轻量级的认证机制,符合开发需求;更多精彩原创内容关注公主号知识追寻者,读者的肯定,就是对作者的创作的最大支持; 二 jwt实现登陆认证流程 用户使用账号和面发出post请求 服务器接受到请求后使用私...

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

程序员写出这样的代码,能不挨骂吗?

当你换槽填坑时,面对一个新的环境。能够快速熟练,上手实现业务需求是关键。但是,哪些因素会影响你快速上手呢?是原有代码写的不够好?还是注释写的不够好?昨夜...

外包程序员的幸福生活

今天给你们讲述一个外包程序员的幸福生活。男主是Z哥,不是在外包公司上班的那种,是一名自由职业者,接外包项目自己干。接下来讲的都是真人真事。 先给大家介绍一下男主,Z哥,老程序员,是我十多年前的老同事,技术大牛,当过CTO,也创过业。因为我俩都爱好喝酒、踢球,再加上住的距离不算远,所以一直也断断续续的联系着,我对Z哥的状况也有大概了解。 Z哥几年前创业失败,后来他开始干起了外包,利用自己的技术能...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

早上躺尸,晚上干活:硅谷科技公司这么流行迟到?

硅谷科技公司上班时间OPEN早已不是什么新鲜事,早九晚五是常态,但有很多企业由于不打卡,员工们10点、11点才“姗姗来迟”的情况也屡见不鲜。 这种灵活的考勤制度为人羡慕,甚至近年来,国内某些互联网企业也纷纷效仿。不过,硅谷普遍弹性的上班制度是怎么由来的呢?这种“流行性迟到”真的有那么轻松、悠哉吗? 《动态规划专题班》 课程试听内容: 动态规划的解题要领 动态规划三大类 求最值/计数/可行性 常...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

Python爬虫,高清美图我全都要(彼岸桌面壁纸)

爬取彼岸桌面网站较为简单,用到了requests、lxml、Beautiful Soup4

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

Java岗开发3年,公司临时抽查算法,离职后这几题我记一辈子

前几天我们公司做了一件蠢事,非常非常愚蠢的事情。我原以为从学校出来之后,除了找工作有测试外,不会有任何与考试有关的事儿。 但是,天有不测风云,公司技术总监、人事总监两位大佬突然降临到我们事业线,叫上我老大,给我们组织了一场别开生面的“考试”。 那是一个风和日丽的下午,我翘着二郎腿,左手端着一杯卡布奇诺,右手抓着我的罗技鼠标,滚动着轮轴,穿梭在头条热点之间。 “淡黄的长裙~蓬松的头发...

大胆预测下未来5年的Web开发

在2019年的ReactiveConf 上,《Elm in Action》的作者Richard Feldman对未来5年Web开发的发展做了预测,很有意思,分享给大家。如果你有机会从头...

立即提问
相关内容推荐