本篇文章给大家谈谈python官方中文文档下载,以及python中文官网下载安装,希望对各位有所帮助,不要忘了收藏本站喔。
前言
文的文字及图片过滤网络,可以学习,交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。
最近找工作,爬虫面试的一个面试题。涉及的反爬还是比较全面的,结果公司要求高,要解决视频链接时效性问题,凉凉。
直接上码:
导入请求 导入时间 从日期时间进口日期时间 进口JSON 进口execjs 进口hashlib 进口重新 导入CSV 从zlib的进口CRC32 从BASE64进口b64decode 进口随机 进口urllib3 进口OS 进口线程 从队列进口队列 从LXML进口etree #查看JS版本信息 #打印( ()。name) #屏蔽ssl验证 警告urllib3.disable_warnings() “”“ 需要nodejs环境,需要修改文件内部的类Popen(object)类中的__init __(.. encode ='utf -8)否则调用js文件时会报错 请求列表页面时。py文件中的ua头要与js文件中一致,不然很难请求到数据,请求详情页时要用ua池否则会封浏览器/ ip 会有一些空白表格,是因为该账号七位数为发布内容,或者该账号被封禁 输出结果在此文件所在根目录下/ toutiao / 右键运行此py文件,文件,文件需要在同一文件夹内 爬取的视频有时效性 “”“” #定义ua池 def标头( ): #各种PC端 user_agent_list = [ #歌剧 “的Mozilla / 5.0(Windows NT的6.1; WOW64)为AppleWebKit / 537.36(KHTML,例如Gecko)铬/ 39.0.2171.95 Safari浏览器/ 537.36 OPR / 26.0.1656.60”, “歌剧院/ 8.0(Windows NT 5.1; U; zh)“, ” Mozilla / 5.0(Windows NT 5.1; U; zh; rv:1.8.1)Gecko / 20061208 Firefox / 2.0.0 Opera 9.50“, ” Mozilla / 4.0(compatible; MSIE 6.0; Windows NT 5.1; en)Opera 9.50“, #Firefox ” Mozilla / 5.0(Windows NT 6.1; WOW64; rv:34.0)Gecko / 20100101 Firefox / 34.0“, “ Mozilla / 5.0(X11; U; Linux x86_64; zh-CN; rv:1.9.2.10)Gecko / 20100922 Ubuntu / 10.10(maverick)Firefox / 3.6.10”, #Safari “ Mozilla / 5.0(Windows NT 6.1; WOW64 )AppleWebKit / 534.57.2(KHTML,例如Gecko)版本/5.1.7 Safari / 534.57.2“, #chrome ” Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.36(KHTML,例如Gecko)Chrome / 39.0。 2171.71 Safari / 537.36”, “ Mozilla / 5.0(X11; Linux x86_64)AppleWebKit / 537.11(KHTML,例如Gecko)Chrome / 23.0.1271.64 Safari / 537.11”, “ Mozilla / 5.0(Windows; U; Windows NT 6.1; en-美国)AppleWebKit / 534.16(KHTML,例如Gecko)Chrome / 10.0.648.133 Safari / 534.16“, #360 ” Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.36(KHTML,例如Gecko)Chrome / 30.0.1599.101 Safari / 537.36“, “ 淘宝浏览器 ”,“ 淘宝浏览器” “ Mozilla / 5.0(Windows NT 6.1; WOW64; Trident / 7.0; rv:11.0),如Gecko”,#淘宝浏览器“ Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 536.11(KHTML,如Gecko)Chrome / 20.0 .1132.11 TaoBrowser / 2.0 Safari / 536.11“, #猎豹浏览器 ” Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.1(KHTML,如Gecko)Chrome / 21.0.1180.71 Safari / 537.1 LBBROWSER“, ” Mozilla / 5.0(兼容; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4 .0E; LBBROWSER)”, “ Mozilla / 4.0(兼容; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E; LBBROWSER)”, #QQ浏览器 “ Mozilla / 5.0(兼容; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4 .0C; .NET4.0E; QQBrowser / 7.0.3698.400)“, ” Mozilla / 4.0(兼容; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E)“, #sogou浏览器 “ Mozilla / 5.0(Windows NT 5.1)AppleWebKit / 535.11(KHTML,例如Gecko)Chrome / 17.0.963.84 Safari / 535.11 SE 2.X MetaSr 1.0”, “ Mozilla / 4.0(兼容; MSIE 7.0; Windows NT 5.1; Trident) /4.0; SV1; QQDownload 732; .NET4.0C; .NET4.0E; SE 2.X MetaSr 1.0)“, #maxthon浏览器 ” Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.36(KHTML,like Gecko) )Maxthon / 4.4.3.4000 Chrome / 30.0.1599.101 Safari / 537.36“, #UC浏览器 “ Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.36(KHTML,例如Gecko)Chrome / 38.0.2125.122 UBrowser / 4.0.3214.0 Safari / 537.36”, ] UserAgent = random.choice(user_agent_list) 标头= {'User- Agent':UserAgent} 返回标头 headers_a = { “ User-Agent”:“ Mozilla / 5.0(Windows NT 10.0; Win64; x64)AppleWebKit / 537.36(KHTML,如Gecko)Chrome / 78.0.3904.87 Safari / 537.36”, } #代理IP 代理= { 的'http': '183.57.44.62:808' } #饼干值 饼干= { 's_v_web_id': 'b呵呵a4754efb0510a0f6d394'} #获取_signature DEF get_signature(USER_ID,max_behot_time): 具有开放(' ','r',encoding ='utf-8')如f: jsData = f.read() () ctx = execjs.compile(jsData).call('tac',str(user_id)+ str( max_behot_time)ÿ