当前位置: 首页 > news >正文

网站备案有用营销推广投放平台

网站备案有用,营销推广投放平台,国外网站做问卷,前端开发简历模板文章目录 前言一、获取cookie二、程序实现三、动态获取cookie四、其他关于Python爬虫技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面试资料六、Pytho… 文章目录 前言一、获取cookie二、程序实现三、动态获取cookie四、其他关于Python爬虫技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面试资料六、Python兼职渠道 前言 很多时候我们要查看的内容必须要先登录才能找到比如知乎的回答QQ空间的好友列表、微博上关注的人和粉丝等。要使用爬虫直接登录抓取这些信息时有一个不太好解决的难题就是这些网站设置的登录规则以及登录时的验证码识别。不过我们可以想办法绕过去思路是这样的先使用浏览器登录从浏览器获取登录后的“凭证”然后将这个“凭证”放到爬虫里模拟用户的行为继续抓取。这里我们要获取的凭证就是cookie信息。 这次我们尝试使用python和cookie来抓取QQ空间上的好友列表。使用的工具是FireFox浏览器、FireBug和Python。 一、获取cookie 打开FireFox浏览器登录QQ空间启动FireBug选择FireBug中的Cookies页签点击页签中的cookies按钮菜单选择“导出本站点的cookie”即可完成cookie的导出。 导出cookie会以一个名为cookies.txt文本文件形式存在。 二、程序实现 然后我们会使用获取的cookie新建一个opener来替换之前请求时使用的默认的opener。将获取的cookies拷贝到程序目录下编写脚本如下 #!python # encoding: utf-8 from http.cookiejar import MozillaCookieJar from urllib.request import Request, build\_opener, HTTPCookieProcessorDEFAULT\_HEADERS {User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0} DEFAULT\_TIMEOUT 360def grab(url):cookie MozillaCookieJar()cookie.load(cookies.txt, ignore\_discardTrue, ignore\_expiresTrue)req Request(url, headersDEFAULT\_HEADERS)opener build\_opener(HTTPCookieProcessor(cookie))response opener.open(req, timeoutDEFAULT\_TIMEOUT)print(response.read().decode(utf8))if \_\_name\_\_ \_\_main\_\_:grab(a hrefhttp://user.qzone.qq.com/QQ号/myhome/friends relexternal nofollow http://user.qzone.qq.com/QQ号/myhome/friends/a)因为我们使用的是FireFox浏览器导出的cookie文件所以这里使用的cookieJar是MozillaCookieJar。 执行脚本…然而报错了 Traceback (most recent call last):File D:/pythonDevelop/spider/use\_cookie.py, line 17, in modulestart()File D:/pythonDevelop/spider/use\_cookie.py, line 9, in startcookie.load(cookies.txt, ignore\_discardTrue, ignore\_expiresTrue)File D:\\Program Files\\python\\python35\\lib\\http\\cookiejar.py, line 1781, in loadself.\_really\_load(f, filename, ignore\_discard, ignore\_expires)File D:\\Program Files\\python\\python35\\lib\\http\\cookiejar.py, line 2004, in \_really\_loadfilename) http.cookiejar.LoadError: cookies.txt does not look like a Netscape format cookies file问题出在cookies文件上说是不像一个Netscape格式的cookie文件。不过也好解决只需要在cookies文件开始一行添加如下内容即可 \# Netscape HTTP Cookie File通过这行内容提示python cookie解析器这是一个FireFox浏览器适用的cookie。 再次执行还是会报错因为比较长我就只贴关键的部分出来 http.cookiejar.LoadError: invalid Netscape format cookies file cookies.txt: .qzone.qq.com\\tTRUE\\t/\\tFALSE\\tblabla\\tdynamic意思是cookie中某些行存在格式错误。具体错在哪儿需要先了解下FireFox浏览器的cookie格式。MozillaCookieJar认为每行cookie需要包含以下信息每条信息以制表符分隔 名称domaindomain_specifiedpathsecureexpiresnamevalue类型字符串布尔型字符串布尔型长整型字符串字符串说明域名—适用路径是否使用安全协议过期时间名称值 其中domain_specified是什么意思我不很清楚以后弄明白了再补上。再来看看我们获取的cookie的部分行 user.qzone.qq.com FALSE / FALSE 814849905\_todaycount 0 user.qzone.qq.com FALSE / FALSE 814849905\_totalcount 0 .qzone.qq.com TRUE / FALSE 1473955201 Loading Yes .qzone.qq.com TRUE / FALSE 1789265237 QZ\_FE\_WEBP\_SUPPORT 0前两行格式是错误的后两行格式是正确的。前两行缺少“expires”属性。该怎么办呢——补上就好了呗。在其他的cookie中随意选一个时间补上就OK了。 补全cookie后再次执行是正常的没有报错。但是没有如预期的打印出好友信息因为网址错了。使用firebug可以找出正确的网址 https://h5.qzone.qq.com/proxy/domain/r.qzone.qq.com/cgi-bin/tfriend/friend\_ship\_manager.cgi?uinQQ号do1rd0.44948123599838985fupdate1clean0g\_tk515169388这样就抓取到好友列表了。好友列表是一个json字符串。 至于如何解析json会在下一节进行说明。 三、动态获取cookie cookie是有过期时间的。如果想长时间抓取网页就需要每隔一段时间就更新一次cookie。如果都是从FireFox浏览器来手动获取显得有些笨了。从浏览器获取的cookie只是作为一个入口之后再进行请求还是要依靠python主动获取cookie。下面是一段获取cookie的程序 #!python # encoding: utf-8 from http.cookiejar import CookieJar from urllib.request import Request, HTTPCookieProcessor, build\_openerDEFAULT\_HEADERS {User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0} DEFAULT\_TIMEOUT 360def get(url):cookie CookieJar()handler HTTPCookieProcessor(cookie)opener build\_opener(handler)req Request(url, headersDEFAULT\_HEADERS)response opener.open(req, timeoutDEFAULT\_TIMEOUT)for item in cookie:print(item.name item.value)response.close()在示例程序中演示了如何获取cookie并打印了cookie的name和value两项属性。通过实例可以看到每次执行http请求都会重新获取cookie因此可以将我们的程序调整一下执行第一次请求时使用我们通过浏览器获取的cookie之后的每次请求都可以使用上次请求时获取的cookie。调整后的程序 #!python # encoding: utf-8 from http.cookiejar import MozillaCookieJar, CookieJar from urllib.request import Request, build\_opener, HTTPCookieProcessor, urlopenDEFAULT\_HEADERS {User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0} DEFAULT\_TIMEOUT 360def gen\_login\_cookie():cookie MozillaCookieJar()cookie.load(cookies.txt, ignore\_discardTrue, ignore\_expiresTrue)return cookiedef grab(cookie, url):req Request(url, headersDEFAULT\_HEADERS)opener build\_opener(HTTPCookieProcessor(cookie))response opener.open(req, timeoutDEFAULT\_TIMEOUT)print(response.read().decode(utf8))response.close()def start(url1, url2):cookie gen\_login\_cookie()grab(cookie, url1)grab(cookie, url2)if \_\_name\_\_ \_\_main\_\_:u1 https://user.qzone.qq.com/QQ号/myhome/friendsu2 https://h5.qzone.qq.com/proxy/domain/r.qzone.qq.com/cgi-bin/tfriend/friend\_ship\_manager.cgi?uinQQ号do2rd0.44948123599838985fupdate1clean0g\_tk515169388start(u1, u2)就这样。 四、其他 其实在登录QQ空间时使用cookie还有另一种法子——通过观察也可以在http 请求头中添加cookie信息。 获取请求头中cookie的方式打开FireFox浏览器打开FireBug并激活FireBug的network页签在FireFox浏览器上登录QQ空间然后在FireBug中找到登录页请求然后就可以找到请求头中的cookie信息了。 将cookie信息整理成一行添加到请求头中就可以直接访问了。这个方法相对简单减少了修改cookie文件的步骤。这算是已知最好的法子了只要腾讯不改变登录规则就能很简单的执行请求获取cookie。不过年代久远不知规则是否还适用。案例仅提供思路网站不断在更新 关于Python爬虫技术储备 学好 Python爬虫 不论是就业还是做副业赚钱都不错但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料给那些想学习 Python 的小伙伴们一点帮助 保存图片微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】 一、Python所有方向的学习路线 Python所有方向的技术点做的整理形成各个领域的知识点汇总它的用处就在于你可以按照上面的知识点去找对应的学习资源保证自己学得较为全面。 二、Python基础学习视频 ② 路线对应学习视频 还有很多适合0基础入门的学习视频有了这些视频轻轻松松上手Python~在这里插入图片描述 ③练习题 每节视频课后都有对应的练习题哦可以检验学习成果哈哈 因篇幅有限仅展示部分资料 三、精品Python学习书籍 当我学到一定基础有自己的理解能力的时候会去阅读一些前辈整理的书籍或者手写的笔记资料这些笔记详细记载了他们对一些技术点的理解这些理解是比较独到可以学到不一样的思路。 四、Python工具包项目源码合集 ①Python工具包 学习Python常用的开发软件都在这里了每个都有详细的安装教程保证你可以安装成功哦 ②Python实战案例 光学理论是没用的要学会跟着一起敲代码动手实操才能将自己的所学运用到实际当中去这时候可以搞点实战案例来学习。100实战案例源码等你来拿 ③Python小游戏源码 如果觉得上面的实战案例有点枯燥可以试试自己用Python编写小游戏让你的学习过程中增添一点趣味 五、面试资料 我们学习Python必然是为了找到高薪的工作下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料并且有阿里大佬给出了权威的解答刷完这一套面试资料相信大家都能找到满意的工作。 六、Python兼职渠道 而且学会Python以后还可以在各大兼职平台接单赚钱各种兼职渠道兼职注意事项如何和客户沟通我都整理成文档了。 这份完整版的Python全套学习资料已经上传CSDN朋友们如果需要可以保存图片微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
http://www.dnsts.com.cn/news/256001.html

相关文章:

  • 专业网站建设公司首选公司二十个优化
  • 苏州企业建设网站深圳网站建设培训班
  • 高考志愿网站开发同城网
  • 购物网站二级页面模板长春做网站企业
  • 合肥工程建设网站wordpress 怎么启动
  • 专业的做网站的都哪些网站可以做gif
  • 百度网站介绍显示图片南京市的网站是由那几家公司做的
  • php响应式个人博客网站设计被网上教开网店的骗了怎么办
  • 素材网站模板汽车网站开发方案
  • 生道网站建设平台网站后台如何添加视频
  • 网站开发的在淘宝上是什么类目潜江招聘资讯网
  • 做盗版电影网站后果4G访问wordpress
  • 网站建设行业如何网站正在建设中 模板
  • 陕西省建设厅网站官网江西省水文监测中心
  • 做的网站怎么查看点击率低代码开发技术
  • 做鼻翼整形整形的网站买虚机送网站建设
  • 网站开发开题报告pptwordpress网站公告
  • 免费crm软件东莞seo优化联系电话
  • 嘉兴市建设街道网站网站内容管理系统cms
  • 网站开发后台wordpress无法设置中文字体
  • 河源哪有做网站阳区城市规划建设局网站
  • 保健品企业网站娶妻为什么不娶外贸女
  • 网站优化大计软件开发要什么学历
  • 企业网站建设合同网站首页设计思路
  • 绍兴公司网站建设品牌形象设计方案
  • 网站设计师简介发软文
  • wordpress 招聘网站模板网上怎么找人去推广广告
  • 网站排队队列怎么做进博会上海2022
  • WordPress主题(模板)制作教程白城整站优化
  • 程序员做个网站要多少钱呢淘宝关键词排名怎么查询