资源简介
python网络爬虫获取去哪儿网景点信息源码,获取的景点信息有'景点', '景点类别', '景点级别', '地点', '经度', '纬度', '开放时间', '景点介绍', '评论次数', '游客评分', '热度', '关键词', '图片路径'。内有详细注释。
代码片段和文件信息
# -!- coding: utf-8 -!-
from bs4 import BeautifulSoup
from urllib.parse import *
import urllib
import urllib.request
import re
import string
import time
import codecs
import csv
import jieba
import jieba.analyse
from optparse import OptionParser
hotnum=re.compile(r‘\d(\d)*‘)
def getHotNum(cNumgrade):
if (int(cNum)>=50000):
hotNum = 50+ 10 * float(grade)
else:
hotNum= int(cNum)/1000 + 10 * float(grade)
return hotNum
#初始化Http请求
url_base =‘http://piao.qunar.com‘# ‘http://piao.qunar.com/ticket/list.htm?‘
user_agent = ‘Mozilla/5.0 (Windows NT 10.0; WOW64; rv:58.0)‘
header = {‘User-Agent‘: user_agent}
ak = ‘whSDgmRhKopIDFMCGxj21FcY611b6R9h‘
#将结果存入csv文件
csvfile = open(‘毕设测试数据.csv‘ ‘a+‘ encoding=‘utf-8‘ newline=‘‘)
writer = csv.writer(csvfile)
#writer.writerow([‘景点‘ ‘景点类别‘ ‘景点级别‘ ‘地点‘ ‘经度‘ ‘纬度‘ ‘开放时间‘ ‘景点介绍‘ ‘评论次数‘ ‘游客评分‘ ‘热度‘ ‘关键词‘ ‘图片路径‘])
#请求网页
pageIndex=38 #请求页序号
while True: ####
if pageIndex == 1: #首页(默认)
#url = ‘http://piao.qunar.com/ticket/list.htm?keyword=中国‘
url = ‘http://piao.qunar.com/ticket/list.htm?keyword=%E7%83%AD%E9%97%A8%E6%99%AF%E7%82%B9®ion=&from=mpl_search_suggest&subject=文化古迹&page=1‘
url = quote(url safe=string.printable) #编码 问题
elif pageIndex>2: #限制爬取页数
break
else: #第pageIndex页
print(pageIndex)
#url = ‘http://piao.qunar.com/ticket/list.htm?keyword=中国&page={0}‘.format(pageIndex)
url = ‘http://piao.qunar.com/ticket/list.htm?keyword=%E7%83%AD%E9%97%A8%E6%99%AF%E7%82%B9®ion=&from=mpl_search_suggest&subject=文化古迹&page={}‘.format(pageIndex)
url = quote(url safe=string.printable)
#使用urlib库请求网页pageCode
request = urllib.request.Request(urlheaders = header)
response = urllib.request.urlopen(request)
html = response.read().decode(‘utf-8‘‘ignore‘)
#构造soup对象
soup = BeautifulSoup(html ‘html.parser‘)
#获取该页所有的新闻链接
a = soup.find_all(‘div‘‘result_list‘)#search-list
#print (a)
soup_news = BeautifulSoup(a.__str__() ‘html.parser‘)
#print(a.__str__())
links = soup_news.find_all(‘a‘‘sight_item_do‘)#(‘a‘)
#print(links)
#初始化结果数组和景点序号
results = [] #保存景点结果(9个字段 景点名称,地点,景点开放时间,景点介绍 热度等)
i = 0; #第几个景点
#遍历新闻链接列表
for item in links:
#构造景点详情页面链接
href = links[0][‘href‘]
#print(href)
href = url_base + href[0:]
links=links[1:]
#print(links)
#print(href)
# 保存景点链接
#results.append(href)
#请求景点内容页面
request = urllib.request.Request(href headers=header)
response = urllib.request.urlopen(request)
html = response.read().decode(‘utf-8‘)
soup_content = BeautifulSoup(html ‘html.parser‘) #景点内容
name= soup_content.find(‘span‘‘mp-description-name‘).string
results.append(name) #保存景点名称
results.append(‘文化古迹‘)
相关资源
- 用python的pyecharts模块绘制世界地图疫
- GitHack-python3.zip
- ROF图像降噪处理python程序
- 微信跳一跳资源包
- Python 数据挖掘入门与实践--代码与文
- 电力窃漏电用户自动识别 源码
- Python3.x+PyQtChart实现数据可视化界面
- python3根据模板图片批量自动制作个性
- 蚁狮算法(Ant Lion AlgorithmPython实现和
- 跳一跳辅助—用Python来玩微信跳一跳
- 基于Django的酒店管理系统设计与实现
- selenium中python包&对应版本的firefox
- 3D打印机控制软件Cura源码
- 《机器学习实战》源代码Python3
- pygame之《飞机大战》
- python暴力破解蓝奏网盘密码.zip
- python外星人入侵.rar
- 用tkinter写的python GUI注册界面
- PythonTank
- SVD实现代码
- python爬取维基百科程序语言消息盒(
- easygui-0.96
- python坦克大战分步骤源码及素材
- django+mysql家具购物网站,包含部署教
- python新浪微博爬虫
- Python3.5.2的IDLE汉化版计算机等级考试
- 12306爬虫实现
- Python求解数独并输出求解过程
- python程序设计基础课件
- 西电python网络处理上机题答案
评论
共有 条评论