2020-11-30 网络爬虫

本文介绍使用Python标准库urllib及第三方库requests和beautifulsoup4进行网页内容抓取的方法。涉及urllib.request.urlopen()函数、requests.get()方法及BeautifulSoup对象的使用。
  • Python3.x标准库urllib提供了urllib.request、urllib.response、urllib.parse和urllib.error四个模块,很好地支持了网页内容读取功能。再结合Python字符串方法和正则表达式,可以完成一些简单的网页内容爬取工作,也是理解和使用其他爬虫库的基础
  • 使用 urllib.request.urlopen()函数可以打开一个网站,读取并打印网页信息
  • urllib.urlopen(url, data[, proxies])
  • urlopen()函数返回response对象
  • 函数的参数url表示远程数据的路径;data表示提交到url的数据;proxies用于设置代理
  • response对象的方法
    1、info()方法: 返回一个httplib.HTTPMessage对象
    2、getcode()方法:返回HTTP状态码。如果是HTTP请求,200表示请求成功完成,404表示网址未找到
    3、geturl():返回请求的url
  • requests库简洁的处理HTTP请求的第三方库,建立在Python的urllib3库基础上,是对urllib3库的再封装。
  • requests库包括URL获取、HTTP长连接和连接缓存、自动内容解码、文件分块上传、连接超时处理、流数据下载等功能
  • requests库的requests.get()方法功能是网络爬虫和信息提交
  • res=requests.get(url[,timeout=n])该函数返回的网页内容会保存为一个response对象。参数url必须采用HTTP或HTTPS方式访问,可选参数timeout用于设定每次请求超时时间
  • requests.get() 返回的response对象代表响应。response对象的主要属性如下
  • statuscode:返回HTTP请求的状态,200表示连接成功,404表示失败
  • text:HTTP响应内容的字符串形式,即url对应的页面内容
  • encoding:HTTP响应内容的编码方式
  • content:HTTP响应内容的二进制形式
  • Response对象提供了两个方法。
    1、json():如果HTTP响应内容包含JSON格式数据,则该方法解析JSON数据。
    2、raise_for_status():如果status_code值不是200,则产生异常
  • beautifulsoup4库也称为bs4库或BeautifulSoup库。Python用于网页分析的第三方库,用来快速转换被抓取的网页。beautifulsoup4将网页转换为一颗DOM树。beautifulsoup4提供一些简单的方法以及类Python语法来查找、定位、修改一棵转换后的DOM树,还能自动将送进来的文档转换为Unicode编码
  • beautifulsoup4库的对象
    1、BeautifulSoup将HTML文档转换成一个树形结构,每个结点都是 对象,可以归纳为4种类型:Tag、NavigableString、BeautifulSoup、Comment。
    2、Tag对象,HTML中的一个标签。
    3、NavigableString对象,用于操纵标签内部的文字,标签的string属性返回NavigableString对象
    4、BeautifulSoup对象,表示的是一个文档的全部内容,大部分时候可以把它看作是一个特殊的Tag。
    5、Comment对象,是一个特殊类型的NavigableSting对象,它的内容不包括注释符号
【无人机】基于改进粒子群算法的无人机路径规划研究[和遗传算法、粒子群算法进行比较](Matlab代码实现)内容概要:本文围绕基于改进粒子群算法的无人机路径规划展开研究,重点探讨了在复杂环境中利用改进粒子群算法(PSO)实现无人机三维路径规划的方法,并将其与遗传算法(GA)、标准粒子群算法等传统优化算法进行对比分析。研究内容涵盖路径规划的多目标优化、避障策略、航路点约束以及算法收敛性和寻优能力的评估,所有实验均通过Matlab代码实现,提供了完整的仿真验证流程。文章还提到了多种智能优化算法在无人机路径规划中的应用比较,突出了改进PSO在收敛速度和全局寻优方面的优势。; 适合人群:具备一定Matlab编程基础和优化算法知识的研究生、科研人员及从事无人机路径规划、智能优化算法研究的相关技术人员。; 使用场景及目标:①用于无人机在复杂地形或动态环境下的三维路径规划仿真研究;②比较不同智能优化算法(如PSO、GA、蚁群算法、RRT等)在路径规划中的性能差异;③为多目标优化问题提供算法选型和改进思路。; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,重点关注算法的参数设置、适应度函数设计及路径约束处理方式,同时可参考文中提到的多种算法对比思路,拓展到其他智能优化算法的研究与改进中。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值