使用Python实现自动化抓取浏览器内容、提交结果

本文只对原理和过程进行文字描述,详细例子与图片描述参照下面给出的链接,结合CTF题目对这个过程实际分析。
实例:
http://blog.csdn.net/funkypants/article/details/78198215
http://blog.csdn.net/funkypants/article/details/78275717

所需知识:

Python3.+使用、requests库、BeautifulSoup4库(或re库)

流程:

1.抓取内容

首先,使用requests库抓取目标网页内容到内存中,语法如下:

import requests
get_url = ‘’#输入目标网址
session = requests.session()#建立一个requests的会话对象
html = session.get(get_url).content#使用上面建立的对象去打开网页,并获取html文档内容

使用print(html)即可看到目标网页的的html文本。

2.解析网页

接下来,我们使用Python中的BeautifulSoup库去解析获得我们想要的内容,只需短短几行语句加上一点耐心,再复杂的内容也可以分解出来。BeautifulSoup这个库采取解析html文档树的方法去获得特定标签、css属性对应的内容,特点是语法简单,入门的话建议直接去阅读它的官方文档(也有中文版),预计1小时内可以简单使用BeautifulSoup去解析网页内容。
如果正则表达式基础比较熟练的话,可以直接使用re(正则表达式)去匹配获得我们想要的内容,也比较方便。

3.计算处理数据

在实际使用中,最重要的一步是对获得的内容进行处理,为下一步的自动提交做准备,这一部分需要结合实际情况去分析,略过。
详细例子参考文末链接。

4.自动化

最后,需要自动提交数据,这一步可以分为两种情况。一种是使用GET方法传递参数,对这种情况,我们只需对字符串进行拼接,然后同样使用第一步中的方法访问url、打印返回数据。
第二种情况是使用POST方法传递参数,在这种情况中,我们需要构造payload,即需要提交的变量名称与对应的值的键值对,形如{‘变量名’:’值’}。需要使用BurpSuite抓包、或分析html中提交按钮的属性才能知道变量名是什么。使用以下语句去构造payload并提交

post_url = ‘’#使用BurpSuite抓包查看post数据提交的url
payload = {'pass_key':str(num)}#键值对
post = session.post(post_url, payload)#依然使用上面建立连接时的会话去提交数据
print(post.text)

使用print语句可以把网页的返回结果直接打印出来。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Python的二手车爬虫数据可视化分析设计毕业源码案例设计 程序开发软件:Pycharm 数据库:mysql 现在介绍的是一个用Python开发的爬取二手车网站数据及其分析的程序。爬取的时候采用selenium驱动google浏览器进行数据的抓取抓取的网页内容传入lxml模块的etree对象HTML方法通过xpath解析DOM树,不过二手车的关键数据比如二手车价格,汽车表显里程数字采用了字体文件加密,这里我们只能随机生成一个价格用于演示程序的完整运行,如果想破解的话可能要截图后利用图片识别技术了。然后数据的展示采用pyecharts,它是一个用于生成 Echarts 图表的类库。爬取的数据插入mysql数据库和分析数据读取mysql数据库表都是通过pymysql模块操作! -------- <项目介绍> 该资源内项目源码是个人的毕设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 --------

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值