1. 首页
  2. Python

Python学习,爬虫不一定非要抓数据,也可以做自己喜欢的应用程序

“u003Cdivu003Eu003Ch1u003E写在前面的话u003Cu002Fh1u003Eu003Cpu003E最近各种负面消息,对爬虫er来说,并不是很友好,当然这个是对于从业者来说的,对像我这样的正在学习python的个人来说,python爬虫的学习只需要保持以下几点,基本不会出现大的问题:u003Cu002Fpu003Eu003Culu003Eu003Cliu003E遵守Robots协议(额,尽量遵守吧)u003Cu002Fliu003Eu003Cliu003E优化代码,不对服务器造成影响为最佳(暴力爬取会严重影响网站的日常访问,最好加入时间间隔)u003Cu002Fliu003Eu003Cliu003E敏感数据不要碰(个人隐私、付费数据等等敏感数据,不要去碰,大部分的违法行为就是因为没有遵守这点……)u003Cu002Fliu003Eu003Cliu003E数据量不要太大(毕竟是学习阶段,能抓到几页数据就可以了,不要批量的抓取大量的数据,对大多数的学习者来说,几遍抓到了大量的数据,也没有更好的用途,那么也就没什么用了!)u003Cu002Fliu003Eu003Cu002Fulu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002Fpgc-imageu002F1535356380271c8aeba4cd8″ img_width=”1280″ img_height=”853″ alt=”Python学习,爬虫不一定非要抓数据,也可以做自己喜欢的应用程序” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Ch1u003E进入正题u003Cu002Fh1u003Eu003Cpu003E今天给大家分享的是,制作一个基于爬虫的小程序,实现快速查询IP的功能。u003Cu002Fpu003Eu003Cpu003E使用的工具为python3.6和pycharm,模块:requests库、tkinter库(GUI)、lxml库u003Cu002Fpu003Eu003Cpu003E先来看看网页是什么样子的u003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp9.pstatp.comu002Flargeu002Fpgc-imageu002F1535356760878757110d33e” img_width=”892″ img_height=”436″ alt=”Python学习,爬虫不一定非要抓数据,也可以做自己喜欢的应用程序” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cpu003E打开主页后,网页会自动显示你的IP及所在的地理位置(上图红色覆盖部分),然后在上方填入待查询的IP,点击查询后,抓包看看返回的内容u003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp3.pstatp.comu002Flargeu002Fpgc-imageu002F1535357462518ad1f75c6e1″ img_width=”1251″ img_height=”734″ alt=”Python学习,爬虫不一定非要抓数据,也可以做自己喜欢的应用程序” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cpu003E可以看到,这里返回了一个html内容,我们直接抓这个包就可以,只需要在url上将待查询的ip加到url后面就可以了。u003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp3.pstatp.comu002Flargeu002Fpgc-imageu002F1535358663880e7e1ee3de4″ img_width=”1280″ img_height=”853″ alt=”Python学习,爬虫不一定非要抓数据,也可以做自己喜欢的应用程序” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Ch1u003E开始写代码u003Cu002Fh1u003Eu003Cpu003E首先,先写tk的框架u003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp3.pstatp.comu002Flargeu002Fpgc-imageu002F1535359032564ace3190dfe” img_width=”695″ img_height=”408″ alt=”Python学习,爬虫不一定非要抓数据,也可以做自己喜欢的应用程序” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002Fpgc-imageu002F1535359093004f5d948a00b” img_width=”396″ img_height=”258″ alt=”Python学习,爬虫不一定非要抓数据,也可以做自己喜欢的应用程序” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cpu003E具体功能不一一讲了,大家可以自行在网上找到tk的教程,这里就说一下大概的思路和数据的传入:首先是做出大的框架,然后从上往下依次写各个功能模块,第33行,这里用一个函数获取本机的IP和位置,数据从网页抓出,函数截图如下:u003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002Fpgc-imageu002F1535359310174a5696db8a3″ img_width=”530″ img_height=”86″ alt=”Python学习,爬虫不一定非要抓数据,也可以做自己喜欢的应用程序” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cpu003E返回一个列表,然后在34和36行依次导入,显示在程序内,为了显眼一些,加入背景颜色。42行为输入待查询的IP,并在第44行的按钮中绑定查询按钮,在函数中直接显示在Listbox模块中,对应的函数截图如下:u003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp3.pstatp.comu002Flargeu002Fpgc-imageu002F15353594427016f0e4067ea” img_width=”517″ img_height=”138″ alt=”Python学习,爬虫不一定非要抓数据,也可以做自己喜欢的应用程序” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cpu003Eps:代码中用u003Cstrongu003Ef-stringu003Cu002Fstrongu003E方法来格式化字符串,具体使用方法大家可以去看看我的其他文章,里面有详细说明。u003Cu002Fpu003Eu003Cpu003E最终效果如下:u003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp3.pstatp.comu002Flargeu002Fpgc-imageu002F1535359673309170d01b82e” img_width=”396″ img_height=”258″ alt=”Python学习,爬虫不一定非要抓数据,也可以做自己喜欢的应用程序” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Ch1u003E后记u003Cu002Fh1u003Eu003Cpu003E后来,用pyinstaller打包生成exe文件,但是出现了报错,最后的退出部分出现了错误u003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp3.pstatp.comu002Flargeu002Fpgc-imageu002F15353603113056845a06b19″ img_width=”314″ img_height=”82″ alt=”Python学习,爬虫不一定非要抓数据,也可以做自己喜欢的应用程序” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cpu003E然后将退出按钮函数修改为exit,打包后依然报错u003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp3.pstatp.comu002Flargeu002Fpgc-imageu002F1535360292250fba2075e1b” img_width=”635″ img_height=”390″ alt=”Python学习,爬虫不一定非要抓数据,也可以做自己喜欢的应用程序” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cpu003E后来修改了一下退出按钮的函数,将command的值修改为sys.exit,就可以了u003Cu002Fpu003Eu003Cpu003Ebton = Button(root, text=”退出”,width =40,command=sys.exit)u003Cu002Fpu003Eu003Cpu003E可能是在Windows下运行程序,quit或者exit不能直接用于退出程序,导致的报错。u003Cu002Fpu003Eu003Cpu003E整个代码不到50行搞定,爬虫部分甚至不到10行,在这方面,python依然是很有优势的!u003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002Fpgc-imageu002F1535360659316f2c359a3db” img_width=”1280″ img_height=”853″ alt=”Python学习,爬虫不一定非要抓数据,也可以做自己喜欢的应用程序” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cu002Fdivu003E”

原文始发于:Python学习,爬虫不一定非要抓数据,也可以做自己喜欢的应用程序

主题测试文章,只做测试使用。发布者:敢吻,转转请注明出处:http://www.cxybcw.com/13242.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code