爬虫抓取网页数据(制作一个基于爬虫的小程序,实现快速查询IP的功能 )

优采云 发布时间: 2021-12-19 14:03

  爬虫抓取网页数据(制作一个基于爬虫的小程序,实现快速查询IP的功能

)

  写在前面的字

  最近各种负面新闻对爬虫不太友好。当然,这是针对修炼者的。对于像我这样正在学习python的个人来说,python爬虫的学习只需要保持以下几点,不会有大问题:

  

  说到点子上了

  今天想和大家分享的是,基于爬虫做一个小程序,实现快速查询IP的功能。

  用到的工具有python3.6和pycharm,模块:requests library, tkinter library (GUI), lxml library

  我们来看看网页长什么样

  

  打开主页后,网页会自动显示你的IP和地理位置(上图中红色覆盖的部分),然后在顶部填写要查询的IP,点击查询,抓包查看返回的内容

  

  如您所见,这里返回了一个 html 内容。我们可以直接抓取这个包,只需在url上的url后面加上要查询的ip即可。

  

  开始写代码

  首先先写tk的框架

  

  

  具体功能就不一一说明了。您可以在 Internet 上找到 tk 的教程。下面是大体思路和数据介绍:先做一个大框架,然后从上到下写出各个功能模块。在第 33 行,一个函数用于获取机器的 IP 和位置。数据是从网页中捕获的。功能截图如下:

  

  返回一个列表,然后在第34、36行导入,在程序中显示。为了更显眼,添加了背景色。第42行输入要查询的IP,将查询按钮绑定到第44行的按钮上,直接在函数中的Listbox模块中显示。对应的功能截图如下:

  

  ps:代码中使用了f-string方法来格式化字符串。具体用法可以查看我的另一个文章,里面有详细的说明。

  最终效果如下:

  

  后记

  后来用pyinstaller打包生成exe文件,但是报错,最后退出部分报错

  

  然后修改退出按钮功能退出,打包后依然报错

  

  后来修改了退出按钮的功能,把command的值改成了sys.exit。

  bton = Button(root, text="exit",width =40,command=sys.exit)

  可能是程序在windows下运行,不能直接用quit或exit退出程序,导致报错。

  整个代码不到50行,爬虫部分甚至不到10行。在这方面,python还是很有优势的!

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线