Python爬虫实战(windows)


关于本文:
上一篇文章介绍了如何使用python爬虫进行网页图片等素材的抓取。我们以爬虫抓取作为基础,结合GUI设计,再通过自定义方法,就可以实现一些小软件的设计制作。本文章就分三个部分为大家介绍一个签名设计软件的设计方法。
首先看一下我们最后制作的软件的效果图:
在这里我们已经封装成了exe文件,这样就可以到处拿去用了

点开之后是这样,因为就是个简单的例子,也没有去细化界面


第一部分:
关于python爬虫的POST发送方式

在python爬虫需要与网页进行交互时,比如submit提交,表单提交,模拟鼠标按键等,就需要用到python的POST了。其原理主要是使用python代码向网页POST请求头,以实现模拟用户点击网页按钮或输入文本的功能。

使用模块:
requests

使用方法:
首先我们打开我们的浏览器,找到要访问的网站,本文以要使用的签名网站为例(http://www.uustv.com/)

1.找到网站会接收的请求头:
进入网站后点击F12(本文以firefox为例)进入开发者模式,如下图:

在“输入你的名字”文本框中输入你要设计的名字,然后选中网络按钮,再点击“马上给我设计”,这样就能对网站刚刚发送接受的包进行抓取,然后我们就会看到POST信息,点开它。

在消息头的请求头中就是我们需要的POST请求的信息,在参数中就包含了我们用户所输入的签名的名字,大小,颜色等一些参数。现在我们需要做的就是复制这些文件备用。

2.使用python POST请求
在上面的图中我们可以看到网页中有一个“马上给我设计”的按钮,只有当我们点击了按钮之后才会有设计好的签名产生出来,而我们要怎么在代码中实现这样一个点击功能呢,自然是使用我们request的POST功能(网上也有人使用splinter或者selenium,但是我实际测试之后发现这两个库使用时需要下载浏览器对应的插件,所以在没装插件的系统上我们程序就无法成功,就不能满足我们做成exe到处用的需求,所以就抛弃了)

首先打开spyder,导入requests库。

import requests

然后将我们上面说到的请求头和表单数据写下来,注意这里要使用字典类型,其中打他中的word参数的%name意思是调用我们自己输入的name姓名

data1={'word':'%s'%name,'sizes':'60','fonts':'jfcs.ttf','fontcolor':'# 000000',}
header={'Host':'www.uustv.com','User-Agent':"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:54.0) Gecko/20100101 Firefox/54.0",'Accept':"text/html,application/xhtml+x…lication/xml;q=0.9,*/*;q=0.8",'Accept-Language':  "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3",'Accept-Encoding':  "gzip, deflate",'Referer':"http://www.uustv.com/",'Content-Type': "application/x-www-form-urlencoded",'Content-Length':"51",'Cookie':"bdshare_firstime=1499938694498",'Connection':"keep-alive",'Upgrade-Insecure-Requests':"1",'Cache-Control' :"max-age=0",}

然后使用requests POST我们的数据和请求,再使用requests库中的 .text 方法,就可以得到我们点击了按钮之后的网页,再通过正则匹配就能得到我们设计的签名图片的源地址了(关于这一部分的讲解可看我的上一篇文章: python爬虫:短代码实现多线程爬虫)

html1 = requests.post('http://www.uustv.com/',headers=header,data =data1)
html = html1.text
reg=r'<div class="tu">\xef\xbb\xbf<img src="(.*?)"/></div>'imgurl='http://www.uustv.com/%s' %re.findall(reg,html)[0]

结语:
怎么样,想要和网页进行互动是不是很简单啊,关于POST本文就介绍到这里。下一篇文章就为大家介绍如何进行GUI设计以及调用自定义方法实现签名设计。

Python爬虫实战——签名软件设计(一)python POST模拟网页按钮点击相关推荐

  1. Python爬虫实战——签名软件设计(二)GUI界面

    Python爬虫实战 关于本文: 上一篇文章我们介绍了POST方法的使用,现在我们就说一下界面设计以及方法的调用 使用模块 from Tkinter import * import tkMessage ...

  2. 【Python爬虫实战】为何如此痴迷Python?还不是因为爱看小姐姐图

    爬取目标 网址:绝对领域 工具使用 开发环境:win10.python3.7 开发工具:pycharm.Chrome 工具包:requests,lxml 项目思路解析 选取你对应的图片分类 根据分类信 ...

  3. Python爬虫实战案例:一键爬取,多种网页模板任你选!

    文章目录 一.网页查看 二.网页爬取数据分析 三.代码分析 四.图片辅助分析 五.运行结果 CSDN独家福利降临!!! 更多博主开源爬虫教程目录索引 一.网页查看 进入网页模板 多页爬取 二.网页爬取 ...

  4. Python爬虫实战,requests模块,Python实现告诉你女神节送什么礼物

    前言 利用Python实现告诉你女神节送什么礼物.废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: requests模块: pandas模块 qrcode模块: ...

  5. #私藏项目实操分享#Python爬虫实战,requests模块,Python实现爬取网站漫画

    前言 今天带大家爬取爬取网站漫画,废话不多说,直接开始~ 开发工具 Python版本:3.6.4 相关模块: requests模块: re模块: shutil模块: 以及一些Python自带的模块. ...

  6. Python爬虫实战,pyecharts模块,Python实现豆瓣电影TOP250数据可视化

    前言 利用Python实现豆瓣电影TOP250数据可视化.废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: pandas模块 pyecharts模块: 以及一些 ...

  7. Python爬虫实战,pyecharts模块,Python数据分析告诉你闲鱼上哪些商品抢手~

    前言 利用利用Python 自动化来获取某类商品中最好卖的商品以供参考.废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: pyecharts模块: 以及一些Py ...

  8. python爬虫实战,requests模块,Python实现抓取头条街拍美图

    前言 利用Python爬取的是今日头条中的街拍美图.废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: re: requests模块: 以及一些Python自带的 ...

  9. Python爬虫实战,requests模块,Python实现抓取王者荣耀全套皮肤

    开发工具 Python版本: 3.6.4 相关模块: requests模块: urllib模块: 以及一些Python自带的模块. 环境搭建 安装Python并添加到环境变量,pip安装需要的相关模块 ...

最新文章

  1. 这7款APP到底有什么好,值得知乎2万人点赞,原来如此!
  2. java判断是否是路径_java判断是否是目录
  3. selenium:断言
  4. 打开文件对话框的演练 c# 1614821885
  5. spring mysql防注入攻击_【spring】(填坑)sql注入攻击 - 持久层参数化
  6. 跟我一起了解less(3):判断和循环
  7. ArcGIS Pro 有多强大?(一)
  8. Spark项目实践--基于 TMDB 数据集的电影数据分析
  9. Google ExoPlayer播放器框架详解及应用实践
  10. 计算方法——C语言实现——LU分解法求解非线性方程
  11. Java生成随机整数
  12. Android中jsoup的混淆规则
  13. C++ 关键字 typeid, typename
  14. 集合中篇—栈与队列区块链
  15. 最佳视频转换器:Filmage Converter Mac
  16. mysql 基于一张表更新_MySQL更新表基于另一个表的值
  17. 详细介绍zip、rar、7z的不同以及优势
  18. python:批量改名脚本
  19. sharepoint2013的最少下载策略概述(MDS)
  20. python怎么表达我喜欢你_如何用含蓄的话表达我喜欢你 含蓄表达我喜欢你的句子大全...

热门文章

  1. python困境_Python笔记-囚徒困境及记录困境中的选择
  2. 好玩的微信互动小游戏有哪些?微信小程序游戏倾情推荐?
  3. 微信服务号解决开启服务配置后自定义菜单失效的方法
  4. Unity实现推箱子
  5. 物联网开源平台KAA
  6. EXCEL----数据处理(二)----B列中包含了A列的项
  7. 《区块链技术驱动金融》读书笔记
  8. 微信中控网页授权的实现
  9. Python绘制三维立体图详解与绘图填充
  10. 京东开源FaceX-Zoo:PyTorch面部识别工具箱