当前位置: 首页 > 编程日记 > 正文

Python 爬虫练手项目—酒店信息爬取

from bs4 import BeautifulSoup
import requests
import time
import reurl = 'http://search.qyer.com/hotel/89580_4.html'
urls = ['http://search.qyer.com/hotel/89580_{}.html'.format(str(i)) for i in range(1,10)] # 最多157页
infos = []
# print(urls)# 批量爬取数据
def getAUrl(urls):data_number = 0for url in urls:getAttractions(url)print('--------------{}-----------------'.format(len(infos)),sep='\n')# 爬取当页面数据
def getAttractions(url,data = None):web_data = requests.get(url)time.sleep(2)soup = BeautifulSoup(web_data.text,'lxml')# print(soup)hotel_names = soup.select('ul.shHotelList.clearfix > li > h2 > a')hotel_images = soup.select('span[class="pic"] > a > img')hotel_points = soup.select('span[class="points"]')hotel_introduces = soup.select('p[class="comment"]')hotel_prices = soup.select('p[class="seemore"] > span > em')if data == None:for name,image,point,introduce,price in \zip(hotel_names,hotel_images,hotel_points,hotel_introduces,hotel_prices):data = {'name':name.get_text().replace('\r\n','').strip(),'image':image.get('src'),'point':re.findall(r'-?\d+\.?\d*e?-?\d*?', point.get_text())[0],'introduce':introduce.get_text().replace('\r\n','').strip(),'price':int(price.get_text())}# print(data)infos.append(data)# 根据价格从高到低进行排序
def getInfosByPrice(infos = infos):infos = sorted(infos, key=lambda info: info['price'], reverse=True)for info in infos:print(info['price'], info['name'])# getAttractions(url)

爬取的网站链接

穷游网

遇到的问题及解决办法

1.【转载】Python: 去掉字符串开头、结尾或者中间不想要的字符

①Strip()方法用于删除开始或结尾的字符。lstrip()|rstirp()分别从左右执行删除操作。默认情况下会删除空白或者换行符,也可以指定其他字符。

②如果想处理中间的空格,需要求助其他技术 ,比如replace(),或者正则表达式

③strip()和其他迭代结合,从文件中读取多行数据,使用生成器表达式

④更高阶的strip

可能需要使用translate()方法

2. 【转载】Python:object of type 'Response' has no len(),如何解决?

需要下载代码的可以到我的GitHub上下载 https://github.com/FightingBob/-Web-Crawler-training  如果觉得可以,请给我颗star鼓励一下,谢谢!

转载于:https://www.cnblogs.com/littlebob/p/9198709.html

相关文章:

应用交换技术的负载均衡算法

原文出处是:http://hi.baidu.com/ruijievideo/blog/item/5959be1f3c1621ff1bd576d2.html 应用交换技术的负载均衡算法应用交换技术里主要包括四项关键的技术:◆截获和检查流量◆服务器监控健康检查◆负载均衡算法◆会话保持截获和检查流量保证只有合适的…

平民架构的春天——UCloud数据方舟实战记

LNMP是最亲民的网页服务架构,整合了优秀的开源软件,想必大家再熟悉不过了,随着云计算的落地;大众创业,万众创新的倡导,为了更好的服务和安全,LNMP也迁入了云平台,比如像UCloud这样优…

用 Python 制作可视化报表,这也太快了!

作者 | 小F来源 | 法纳斯特在数据展示中使用图表来分享自己的见解,是个非常常见的方法。这也是Tableau、Power BI这类商业智能仪表盘持续流行的原因之一,这些工具为数据提供了精美的图形解释。当然了,这些工具也有着不少缺点,比如…

Django 错误汇总

1、 解决:python manage.py migrate sessions 2、转载于:https://blog.51cto.com/jacksoner/2130665

几种负载均衡算法

几种负载均衡算法 本地流量管理技术主要有一下几种负载均衡算法: 静态负载均衡算法包括:轮询,比率,优先权 动态负载均衡算法包括: 最少连接数,最快响应速度,观察方法,预测法,动态性能分配&#…

cassandra命令

压力测试:cassandra-stress [command] -node [nodes] -mode thrift user[user] password[password] example: cassandra-stress write n10 -node 192.168.0.105 -mode thrift usercassandra passwordcassandra

《2022产业互联网安全十大趋势》发布,专家学者透析产业安全新变化

2月28日,在中国产业互联网发展联盟指导下,人民邮电报、中国信息安全、腾讯安全联合实验室、腾讯研究院联合推出《2022产业互联网安全十大趋势》。该报告由《中国信息安全》杂志出品人温哲、腾讯副总裁丁珂、腾讯研究院院长司晓等20余位行业顶级专家、学者…

slurm用户快速入门手册

1. 概述2. 架构3. 命令3.1 sacct3.2 sattach3.4 sbatch3.5 sbcast3.6 scancel3.7 scontrol3.8 sinfo3.9 smap3.10 squeue3.11 srun3.12 strigger3.13 sview1. 概述 Slurm 是一个开源、容错、高可伸缩的集群管理和大型小型 Linux 集群作业调度系统。slurm不需要对操作系统内核进…

什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI?

原文地址:http://www.mike.org.cn/articles/what-is-cgi-fastcgi-php-fpm-spawn-fcgi/什么是CGICGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其它机器上的程序进行“交谈”的一种工具,其程序须运行在网络服务器上…

5个短小精悍的 Python 趣味脚本,太赞了,非常适合小白上手!

作者 | 菜鸟哥来源 | 菜鸟学Python今天特地为大家准备了几个简单的“开胃小菜”。希望大家能够通过这几个简单而实用的小案例,活跃一下自己的思维,为接下来的工作和学习做好准备。话不多说,我们接下来就开始介绍。1、图片尺寸缩小所需库&…

AjaxFileUpload文件上传组件(php+jQuery+ajax)

jQuery插件AjaxFileUpload可以实现ajax文件上传,下载地址:http://www.phpletter.com/contents/ajaxfileupload/ajaxfileupload.js 主要参数说明:1,url表示处理文件上传操作的文件路径,可以测试URL是否能在浏览器中直接…

Hadoop生态圈-Flume的组件之自定义拦截器(interceptor)

Hadoop生态圈-Flume的组件之自定义拦截器(interceptor) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 本篇博客只是举例了一个自定义拦截器的方法,测试字节传输速度。 1>.自…

Pandas 重复数据处理大全

作者 | 东哥起飞来源 | Python数据科学本次来介绍重复值处理的常用方法。重复值处理主要涉及两个部分,一个是找出重复值,第二个是删除重复值,也就是根据自己设定的条件进行删除操作。定位重复值对于重复值,我们首先需要查看这些重…

DEDECMS教程:上/下一篇文章标题长度的截取方法

对dedecms了解的朋友们,想必对如何获取上一篇、下一篇文章的标签也是非常熟悉。dedecms获取上一篇、下一篇文章的标签分别为:{dede:prenext getpre/}、{dede:prenext getnext}。 在这个标签里,并没有设置上一篇、下一篇文章标题字数的功能&am…

以太网帧最小字节数以及以太网碰撞

说明:本文源自多个网页,原文链接已经不可寻 以太网是无连接的,不可靠的服务,采用尽力传输的机制。以太网CSMA/CD我就不多讲了,我相信大家都了解这个原理。以太网是不可靠的,这意味着它并不知道对方有没有收…

lodash 提取前N个元素 take

_.take(array, [n1])从数组的起始元素开始提取 N 个元素。 <!DOCTYPE html> <html lang"zh"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><…

JavaScript 中的有限状态机

http://www.ibm.com/developerworks/cn/web/wa-finitemach/JavaScript 中的有限状态机Page navigation系列文章有限状态机很早就已用作设计和实现事件驱动的程序&#xff08;比如网络适配器和编译器&#xff09;内复杂行为的组织原则。现在&#xff0c;可编程的 Web 浏览器为新…

健身也内卷?这届网友用 Python 掌握了做标准俯卧撑的秘诀

自己在家锻炼时&#xff0c;我们很难知道自己的动作是否标准。本文作者用Python写了一个可以检测俯卧撑动作是否标准的程序&#xff0c;一起来看看他是怎么做的。 译者 | 章雨铭 出品 | CSDN 在新加坡军队中&#xff0c;有一种测试叫做IPPT&#xff08;个人身体素质测试&#x…

Linux下配置SNMP

SNMP&#xff08;Simple NetworkManagement Protocol &#xff09;&#xff1a;简单网络管理协议本案列为Linux环境搭建&#xff08;CentOS-6&#xff09;使用yum进行安装&#xff1a;yum install -y net-snmp安装完成后先查看网络配置&#xff1a;netstat -anupl确认161端口被…

重磅!MaxCompute助力阿里开源自研语音识别模型DFSMN,准确率高达96.04%

阿里开源语音识别模型DFSMN 在近期举行的云栖大会武汉峰会上&#xff0c;装有DFSMN语音识别模型的“AI收银员”在与真人店员的PK中&#xff0c;在嘈杂环境下准确识别了用户的语音点单&#xff0c;在短短49秒内点了34杯咖啡。此外&#xff0c;装备这一语音识别技术的自动售票机也…

全球网络拓扑图

原文出自海外一个论坛&#xff1a;http://board.us.ikariam.com/board16-miscellaneous/board205-discussion-board/67724-internet/InternetSo, I always take a look at these maps and also information on the workings of the internetAnd I have questions:Are there map…

Python 实现 PD 文字识别、提取并写入 CSV 文件脚本分享

作者 | 一只河马h来源 | 简说Python一、前言二、需求描述三、开始动手动脑3.1 安装相关第三方包3.2 导入需要用到的第三方库3.3 读取pdf文件&#xff0c;并识别内容3.4 对识别的数据进行处理&#xff0c;写入csv文件总结前言扫描件一直受大众青睐&#xff0c;任何纸质资料在扫描…

根据listObject中的某个字段排序

compareTo必须是两个对象之间的比较(比如Long,Integer...),以下例子是升序排序 private void businessSort(List<WxDailyBusinessInfo> wxDailyBusinessInfo) { //排序前for (int i 0; i < wxDailyBusinessInfo.size(); i) {System.out.println(new Gson(…

CC国内厂商现状

&#xff08;1&#xff09;阿里云的产品 CC攻击 攻击者攻击服务器的认证页面、登录页面、游戏论坛等。还是用饭馆的例子&#xff0c;CC攻击相当于&#xff0c;坏人霸占收银台结账、霸占服务员点菜&#xff0c;导致正常的客人无法享受到服务。 游戏盾如何防御CC攻击&#xff1f;…

网络模型 - 随机网络,无标度网络,分层网络

转自&#xff1a; http://www.flickr.com/photos/caseorganic/4510691991/in/set-72157624621620243小图大图Network Models - Random network, Scale-free network, Hierarchical network随机网络The Erds–Rnyi (ER) model of a random network14 (see figure, part A) start…

一文介绍机器学习中的三种特征选择方法

作者 | luanhz来源 | 小数志导读机器学习中的一个经典理论是&#xff1a;数据和特征决定了机器学习的上限&#xff0c;而模型和算法只是逼近这个上限。也正因如此&#xff0c;特征工程在机器学习流程中占有着重要地位。广义的特征工程一般可分为三个环节&#xff1a;特征提取、…

[转化率预估-1]引言

原文&#xff1a;hhttp://www.flickering.cn/ads/2014/06/%E8%BD%AC%E5%8C%96%E7%8E%87%E9%A2%84%E4%BC%B0%E2%80%94%E2%80%94%E5%BC%95%E8%A8%80/ 最近几年&#xff0c;“计算广告学”的概念风生水起&#xff0c;让我们这些从事在线广告匹配技术的程序猿着实荣耀了一把。这在参…

reportNG定制化之失败截图及日志

先从github上拉下 reportNg的源代码 reportng 拉下源码后我们使用IDEA进行导入 1、reportng.properties 增加部分类表项 这里我们直接在末尾添加 logLog Info screenshotScreen Shot durationDuration2、results.html.vm 修改结果的html&#xff0c;我们目前只修改fail的情况下…

基于 OpenCV 的手掌检测和手指计数

作者 | 努比 来源 | 小白学视觉 利用余弦定理使用OpenCV-Python实现手指计数与手掌检测。 手检测和手指计数 接下来让我们一起探索以下这个功能是如何实现的。 OpenCV OpenCV&#xff08;开源计算机视觉库&#xff09;是一个开源计算机视觉和机器学习软件库。OpenCV的构建旨在为…

side menu待研究

2019独角兽企业重金招聘Python工程师标准>>> http://fontawesome.bootstrapcheatsheets.com/ http://www.queness.com/post/14666/recreate-google-nexus-menu http://www.jqueryscript.net/demo/Sliding-Side-Menu-Panel-with-jQuery-Bootstrap-BootSideMenu/ &a…