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

Python 爬虫练手项目—酒店信息爬取相关推荐

  1. python爬取酒店信息_Python 爬虫练手项目—酒店信息爬取

    from bs4 import BeautifulSoup import requests import time import re url = 'http://search.qyer.com/ho ...

  2. 2021-07-31 Python爬虫练手项目--爬取上千张明星美图

    爬虫每日练手--上千张美女明星优质图 1.确定目标 2.提取链接 爬取封面链接 爬取子页面 3.代码及结果 完整代码 输出结果 代码细节解释 设置简单反爬 打印输出结果 4.成品欣赏 1.确定目标 目 ...

  3. 【爬虫练手小demo】爬取古诗词

    爬取的网站链接为 base_url= https://www.gushiwen.org/ 想按照页面右边栏的各个分类进行爬取,例如"春天","夏天"," ...

  4. 熬夜整理出了70个清华大佬都在用的Python经典练手项目【附源码】

    我们都知道,不管学习那门语言最终都要做出实际的东西来,而对于编程而言,这个实际的东西当然就是项目啦,不用我多说大家都知道学编程语言做项目的重要性. 于是,小编熬了几个通宵,终于整理出了70个清华大佬都 ...

  5. python练手经典100例-Python 的练手项目有哪些值得推荐?

    首先两点建议:最好不要写太应用的程序练手,如果你发现你写程序的大部分时间都在查库手册(或者类似的事情),那就是大家所说的"搬砖"了:要思考什么更像是知识,什么只是经验,还是那句老话 ...

  6. Python 爬虫 之 Selenium 模拟打开操作浏览器爬取斗鱼全部视播相关信息,并json保存信息

    Python 爬虫 之 Selenium 模拟打开操作浏览器爬取斗鱼全部视播相关信息,并json保存信息 基础: Python 爬虫 之 Selenium.webdriver 的安装,以及模拟打开操作 ...

  7. python爬虫多久能学会-不踩坑的Python爬虫:如何在一个月内学会爬取大规模数据...

    原标题:不踩坑的Python爬虫:如何在一个月内学会爬取大规模数据 Python爬虫为什么受欢迎 如果你仔细观察,就不难发现,懂爬虫.学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多,另一方 ...

  8. Python爬虫学习基础——5分钟学会爬取B站视频日播放量排行

    Python爬虫学习基础--5分钟学会爬取B站视频日播放量排行 基础包含 requests pyquery 进入正题 基础包含 这也是我当初第一次学习爬虫时做的练习,感觉给初学者练笔挺不错的.运用的知 ...

  9. 【2020-10-27】 scrapy爬虫之猎聘招聘信息爬取

    声明:本文只作学习研究,禁止用于非法用途,否则后果自负,如有侵权,请告知删除,谢谢! scrapy爬虫之猎聘招聘信息爬取 1.项目场景 目标网址:https://www.liepin.com/zhao ...

最新文章

  1. 1048 Find Coins(two pointers解法)
  2. 通过Mesos、Docker和Go,使用300行代码创建一个分布式系统
  3. 急速收藏:4套iOS SDK的H5打通方案
  4. 网易云信亮相 LiveVideoStackCon 2021,解构自研大规模传输网 WE-CAN
  5. oracle11告警日志,oracle 11.2.0.4 告警日志里错误
  6. Jmeter JDBC Request执行多条SQL语句
  7. Oracle 9i 的安装(图解)
  8. 使用Canvas合成多张图片和文字为一张图片
  9. 微软输入法数字有间隔_各种中文输入法中输入间隔号“·”的措施
  10. Introduction to TurboFan
  11. 如何正确计算LINUX内存使用率
  12. Android : Broadcast
  13. 感知机算法(一)PLA
  14. 侧耳倾听中日对照剧本
  15. 知识点滴 - 无线电频谱划分
  16. 基于贝叶斯算法文本分析之新闻分类
  17. 个人计划日程提升系统APP的设计与实现
  18. FIR滤波器设计(Kaiser窗案例)
  19. 中职计算机英语教学计划,中职英语教学计划
  20. 存货核算当期单价(调整当期存货单价)

热门文章

  1. idea的优秀博客推荐
  2. 二叉树的路径(根节点到叶节点)Binary Tree Paths
  3. 蓝懿教育九月二十七日记录
  4. Away3d 骨骼动画优化
  5. outlook2010 打开总是提示“正在加载配置文件”
  6. python 验证码识别示例(二) 复杂验证码识别
  7. Composer 篇
  8. Photoshop五步制作水晶按钮
  9. NLog在Asp.Net MVC的实战应用
  10. Dynamics AX 2009 升级PreSynchnoize时的无反应的解决