资源简介
用Python爬取猫途鹰旅游网站的爬虫代码;
爬取到的数据有:酒店和景点信息,酒店评论信息,景点评论信息;
内附爬虫过程的思路和难点介绍

代码片段和文件信息
# -*- coding:utf-8 -*-
# 从酒店列表中爬取酒店信息
import requests
import re
import tool
import os
import time
import urllib3
urllib3.disable_warnings()
# requests.packages.urllib3.disable_warnings()
# url
l_siteURL = ‘https://www.tripadvisor.cn/Hotels-g294212-oa‘
r_siteURL = ‘-Beijing-Hotels.html#BODYCON‘
# 抓取酒店
class Hotel:
# 页面初始化
def __init__(self):
# url的左边和右边,左+30+右
self.l_siteURL = ‘https://www.tripadvisor.cn/Hotels-g294212-oa‘
self.r_siteURL = ‘-Beijing-Hotels.html#BODYCON‘
self.frontUrl = ‘https://www.tripadvisor.cn‘ # 酒店详情url要加的前缀
self.tool = tool.Tool()
# 获取页面源码内容
def getPage(self infoURL):
time.sleep(0.2)
headers = {‘content-type‘: ‘application/json‘
‘User-Agent‘: ‘Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0‘}
r = requests.get(url=infoURL verify=False headers=headers)
r.encoding = ‘utf-8‘
return r.text
# 传入图片地址,文件名,保存单张图片
def saveImg(self imageURL fileName):
time.sleep(0.2)
headers = {‘content-type‘: ‘application/json‘
‘User-Agent‘: ‘Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0‘}
r = requests.get(url=imageURL verify=False headers=headers)
data = r.content # 二进制内容返回
f = open(fileName ‘wb‘)
f.write(data)
print u“正在悄悄保存一张图片为%s“ % (fileName)
f.close()
# 保存一张酒店图片并返回图片路径
def saveIcon(self iconURL path):
splitPath = iconURL.split(‘.‘)
fTail = splitPath.pop() # 移除最后一个元素并返回
fileName = path + “.“ + fTail
self.saveImg(iconURL fileName)
return fileName
# 获取酒店详细地址
def getHotelAddress(self page):
pattern = re.compile(“(.{010})(.{010})(.{030})“ re.S)
result = re.search(pattern page)
return self.tool.replace(result.group(1) + result.group(2) + result.group(3))
# 获取酒店评分
def getHotelGrade(self page):
pattern = re.compile(“(.{04}) “ re.S)
result = re.search(pattern page)
return self.tool.replace(result.group(1))
# 获取酒店点评数量
def getHotelCommentNumber(self detailPage):
pattern = re.compile(u“(\d{04})<\/span>条点评“ re.S)
result = re.search(pattern detailPage)
print type(result)
return int(self.tool.replace(result.group(1)))
# 解析酒店评论并保存
def parseHotelComment(self hotelName url pageNum):
splitURL = url.split(‘.‘)
print ‘共有‘ pageNum ‘页评论‘
if pageNum > 80 : # 最多爬取80页评论
pageNum = 80
firstUserName = u‘‘ # 记录上一页的第一个评论人
flag = False
for index in range(1 pageNum + 1):
if flag == True:
print ‘跳出了
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-01-30 21:10 maotuying\
文件 191 2018-01-15 11:24 maotuying\hotel.txt
文件 1815 2018-01-15 11:26 maotuying\hotelComment.txt
目录 0 2018-01-23 09:27 maotuying\img\
目录 0 2018-01-23 09:27 maotuying\img\hotel\
文件 64751 2018-01-15 11:24 maotuying\img\hotel\北京新云南皇冠假日酒店.jpg
目录 0 2018-01-15 11:24 maotuying\img\scenic\
文件 19622 2018-01-30 21:04 maotuying\main.py
文件 479 2018-01-30 21:17 maotuying\READEME.txt
文件 1060 2018-01-02 20:34 maotuying\tool.py
相关资源
- 基于Python爬虫爬取天气预报信息
- 一个简单的python爬虫
- Python爬虫数据分析可视化
- 北邮python爬虫学堂在线
- python爬虫爬取微博热搜
- python爬虫爬取旅游信息(附源码,c
- python爬虫爬取豆瓣电影信息
- Python爬虫实战入门教程
- Python爬虫相关书籍.zip
- 疫情数据爬虫并绘制柱状图.py
- python新浪微博爬虫,爬取微博和用户
- 一套最新价值1680元的python爬虫实战全
- 11-Python爬虫工程师-App抓取进阶
- 法律判决文书python爬虫、以及数据处
- Python爬虫、Flask框架与ECharts实现数据
- Python爬虫入门到实战 (二花) PDF版
- 学习python爬虫看一篇就足够了之爬取
- 基于Python智联招聘牌爬虫+本科毕业论
- Python爬虫开源项目代码
- 《Python爬虫-开发与项目实战》源码
- Python爬虫爬取智联招聘
- Python爬虫入门:如何爬取招聘网站并
- 基于selenium模拟天眼查登录并爬取企业
- python爬虫爬取杭州市幼儿园信息
- 《零基础:21天搞定Python分布爬虫》课
- python爬虫爬取豆瓣评分数据
- Python爬虫教学PPT
- Python爬虫开发与项目实战.mobi
- (一)python爬虫验证码识别去除干扰
- 全套从零开始学Python网络爬虫教学以
评论
共有 条评论