一、首先需要导入我们的库函数

导语:通过看网上直播学习得到,如有雷同纯属巧合。

import requests#请求网页链接
import pandas as pd#建立数据模型
from bs4 import BeautifulSoup
import io
import sys#防止乱码
sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030')

注:如有库安装不了,可参考上一篇随笔。

二、源代码:

 1 import requests
import pandas as pd
from bs4 import BeautifulSoup
import io
import sys#防止乱码
sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030')
def get_url(n):
#获取网页链接
urls=[]
for i in range(1,n+1):
urls.append('https://travel.qunar.com/p-cs299878-shanghai-jingdian-1-%s' %i)#获取n段网页链接
return urls pass def get_data(url):#获取一段网页链接的数据
r=requests.get(url)
soup=BeautifulSoup(r.text,'lxml')#lxml一种不错的编译器
ul=soup.find('ul',class_='list_item clrfix')#在网页中通过查找元素信息找到其名称
lis=ul.find_all('li')#查找所有信息
datalst=[]#定义一个数据字典
for li in lis:
dic={}#将需要查找的信息写入数据字典
dic['景点名称']=li.find('span',class_='cn_tit').text
dic['星级']=li.find('span',class_='cur_star')['style'].split(':')[1].replace('%','')#将数据中的百分号去掉实现初步数据清洗
dic['经度']=li['data-lng']
dic['纬度']=li['data-lat']
datalst.append(dic)
return datalst def get_alldata(n):#按要求查找多段网页链接的数据
alldata=[]
for url in get_url(n):
alldata.extend(get_data(url))
return alldata
#print(get_alldata(2))
df=pd.DataFrame(get_alldata(2))#建立pandas模型,按要求输出
print(df)

三、运行结果:

四、存储:

这里采用csv存储,在获取信息时写入以下代码把取得的信息写入表格中。

 def get_alldata(n):
alldata=[]
for url in get_url(n):
alldata.extend(get_data(url))
alldata=[str(x) for x in alldata]
with open('describe.csv','a',encoding='utf8')as f:#在自己的运行目录下新建一个csv后缀名的文件夹然后打开以读写的方式
f.write(','.join('%s' %id for id in alldata))#为了防止数字转字符串出错首先逐个遍历我们的列表然后再写入
f.close()#操作完成应记住关闭文件夹。
return alldata

运行结果:

如上图所示数据已成功写入csv文件夹中。

小有瑕疵,初学见谅!!!

爬虫,爬取景点信息采用pandas整理数据的更多相关文章

  1. python爬虫爬取get请求的页面数据代码样例

    废话不多说,上代码 #!/usr/bin/env python # -*- coding:utf-8 -*- # 导包 import urllib.request import urllib.pars ...

  2. 用Python写爬虫爬取58同城二手交易数据

    爬了14W数据,存入Mongodb,用Charts库展示统计结果,这里展示一个示意 模块1 获取分类url列表 from bs4 import BeautifulSoup import request ...

  3. Python爬虫爬取异步加载的数据

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:努力努力再努力 爬取qq音乐歌手数据接口数据 https://y.qq ...

  4. 养只爬虫当宠物(Node.js爬虫爬取58同城租房信息)

    先上一个源代码吧. https://github.com/answershuto/Rental 欢迎指导交流. 效果图 搭建Node.js环境及启动服务 安装node以及npm,用express模块启 ...

  5. (转)Python网络爬虫实战:世纪佳缘爬取近6万条数据

    又是一年双十一了,不知道从什么时候开始,双十一从“光棍节”变成了“双十一购物狂欢节”,最后一个属于单身狗的节日也成功被攻陷,成为了情侣们送礼物秀恩爱的节日. 翻着安静到死寂的聊天列表,我忽然惊醒,不行 ...

  6. MATLAB爬虫爬取股票数据

    近年来,大数据盛行,有关爬虫的教程层次不穷.那么,爬虫到底是什么呢? 什么是爬虫? 百度百科是这样定义的: 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种 ...

  7. 爬虫爬数据时,post数据乱码解决办法

    最近在写一个爬虫,目标网站是:http://zx.bjmemc.com.cn/,可能是为了防止被爬取数据,它给自身数据加了密.用谷歌自带的抓包工具也不能捕获到数据.于是下了Fiddler.     F ...

  8. 爬虫(二)Python网络爬虫相关基础概念、爬取get请求的页面数据

    什么是爬虫 爬虫就是通过编写程序模拟浏览器上网,然后让其去互联网上抓取数据的过程. 哪些语言可以实现爬虫    1.php:可以实现爬虫.php被号称是全世界最优美的语言(当然是其自己号称的,就是王婆 ...

  9. Python网络爬虫第三弹《爬取get请求的页面数据》

    一.urllib库 urllib是Python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求.其常被用到的子模块在Python3中的为urllib.request和urllib. ...

随机推荐

  1. torch_11_风格迁移和cycleGAN

    1,A Neural Algorithm of atistic Style https://axiv.org/pdf/1508.06576.pdf 如何定义图片的内容,风格: 定义内容:在vggnet ...

  2. python在字节流中对int24的转换

    python在字节流中对int24的转换 概述 最近在写项目的过程中,需要对从串口中读取的数据进行处理,本来用C写完了,但是却一直拿不到正确的数据包,可能是因为自己太菜了.后来用了python重新写了 ...

  3. Dubbo从入门到实战:入门篇

    很多时候,其实我们使用这个技术的时候,可能都是因为项目需要,所以,我们就用了,但是,至于为什么我们需要用到这个技术,可能自身并不是很了解的,但是,其实了解技术的来由及背景知识,对于理解一项技术还是有帮 ...

  4. 『CSP2019初赛后的总结』

    初赛已经过去了,分数大概也已经知道了,接下来的一个月停课应该就是全部准备复赛. 联赛前几次讲课的内容是组合计数,计数\(dp\),字符串,概率期望,数论,数据结构,多数知识点难度都是大于联赛难度的,不 ...

  5. C# winform 获取鼠标点击位置

    说明:该篇随笔的代码内容并非出自本人,是在其他网站搜寻的,出处已经不记得了,本次随笔只为记录,目的帮助自己,帮助他人. 实现的原理也不做多的赘述,直接上代码. 第一个类是需要用到的Windows AP ...

  6. 有两个CIDR地址块208.128/11和208.130.28/22。是否有那一个地址块包含了另一个地址?如果有,请指出,并说明理由。

    有两个CIDR地址块208.128/11和208.130.28/22.是否有那一个地址块包含了另一个地址?如果有,请指出,并说明理由. 208.128/11的前缀为:11010000 100: 208 ...

  7. .Net网站防盗链

    一.简单写法,在Global.asax下的这个方法中添加如下信息 /// <summary> /// 管道当中的第一个事件 /// </summary> /// <par ...

  8. iOS - 常用宏定义和PCH文件知识点整理

    (一)PCH文件操作步骤演示: 第一步:图文所示: 第二步:图文所示: (二)常用宏定义整理: (1)常用Log日志宏(输出日志详细可定位某个类.某个函数.某一行) //=============== ...

  9. bat延迟执行脚本,利用choice实现定时执行功能

    choice是选择语句,具体语法另外再讲.今天利用它来实现定时执行功能.废话少说直接上代码: 示例一: @echo off for %%a in (我 是 一 个 中 国 人) do ping -n ...

  10. 4、Work-Queue

    Work Queues using the Java Client In the first tutorial we wrote programs to send and receive messag ...