爬虫の初体验

在近日学了些许的python之后,基本掌握了python基本语法结构的我(大写的骄傲),开始了对python第三方模块的探索。因为python翻译是蟒蛇,在河南话里这东西统称长虫,由此可见,对这东西第一个实践,就应该是爬虫了!!!(居然还有人说我这波理解没有十年脑血栓想不出来??)

正文开始:利用python查询自己公网ip

很多时候我们发现,在网上查到的自己的ip和通过命令行ipconfig所得到的ipv4地址不一致,ipconfig所显示的是自己的私网ip,仅限在局域网使用;而网络上查到的是运营商分配给自己的用于联网的共用地址,所以会产生区别。我们这里使用http://www.net.cn/static/customercare/yourip.asp 来查询自己的IP地址。(虽然百度查ip优先出现的是ip138.com但是网站似乎会爬取失败,导致我一度怀疑是python环境配置出问题了)
在python中要实现对url的访问,需要引入一个requests模块,如果没有的话可以在命令行,用python模块下载工具pip,输入pip install requests,下载完即可食用。当然啦如果命令行提示你,没有pip这个命令的话,建议在python的安装地址中查看是否有pip.exe这个小东西,要是还没有,那当我没说,建议百度...如果有的话,建议将这个文件夹放到环境变量中以便日后在命令行中使用。
在安装好之后,最简单的爬虫就可以开爪巴了:

import requests
url = "http://www.net.cn/static/customercare/yourip.asp"
r = requests.get(url)
print(r.text)
#此时可以查看url所返回的网页源码。

但是只是这样的话,我们还需要在众多的代码群里找到那个IP地址,十分的憨。这时,我们就需要用到之前讲述过的正则表达式了,包括日后如果需要在网站上利用爬虫下载图片、视频,都需要学好正则...不太明白的建议回头看看...
python中正则需要引入模块re,于是我们直接去提取我们的IP:

import requests
import re

url = "http://www.net.cn/static/customercare/yourip.asp"
r = requests.get(url)
t = findall("\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}",r.text)
#利用正则直接寻找出符合IP地址格式的数据并输出
print(t)

当然啦,只是在命令行输出,还没有.exe可执行文件恐怕大家并不满意。好不容易学会了新东西怎么能不和朋友们炫技呢。
不过很可惜我也只是套了个模板,等日后把这个模块学明白了再说。
至于怎么把.py打包.exe可执行文件,在命令行中用pyinstaller工具,如果没有就参考上边,用pip install pyinstaller下载。然后pyinstaller -c -F {需要打包的文件路径加文件名},其中-F参数是使所有依赖文件都打包进一个EXE文件的命令,方便没有python环境的同学顺利运行。
那就到这吧先,再多说就彻底暴露自己是只大菜鸡的事实了。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注