python3.x爬取美团信息
在之前的文章中,笔者有提到,我们要在实践中去学习python,笔者有天就想着要不要爬点东西呢,跃跃欲试的节奏啊,想来想去,想到美团了,那么首先笔 者想给自己确定一个目标,就是我要爬什么样的数据,我要爬美团的哪些东西。笔者首先确定了笔者想要爬去的界 面,http://bj.meituan.com/。就是美团网在北京的团购首页,获取首页的团购,团购项目的介绍,团购售价,销量。
1.首先确定要用的模块,<1.>urrlib,os,re三个模块,
2.要想获得数据,并且一一对应起来,那么用到循环的嵌套(一开始卡壳,后来咨询得到启发),
3.获取网页的所有数据,爬去下来
4.分析这些想要或许的模块怎么找出来,
5.找出相对于的正则来匹配,
6.获取数据,并且找到对应的数值
7.利用循环,并且配合字典的使用,将数据完整的获取下来,
8.保存到相应的文档中
9.关闭文档,
10.提示数据保存成功,结束爬去。
由于这是第一次采取这么多的信息,之前只是爬个图片啥的,所以笔者还是十分小心的去审查每一个元素,在这里推荐利用火狐浏览器,感觉是真的好用使用Firebug插件审查元素。
查看元素后,可以获得这个网站的编码形式是utf-8,这对于我们爬取数据也是关键的。
在一开始呢,笔者还打开了一款软件,fiddler,抓包

这些信息还是很多的,由于笔者截图的时候碰到了网络的原因,但是笔者还是找到了自己想要的信息,这样可以在自己的代码中加入伪装浏览器的信息,那么接下来要做的事情就是定位我们想要找的数据。

分析首页的团购信息,我们可以根据多个来确认这个信息的唯一标识符,<span>标签中并且有class="xtitle"< /span>中间文字,那么我们的正则表达式就出来了,r'<span
class="xtitle">(.+?)</span>'(正则太难,笔者一个个试出来的)

描述也是<span>标签并且 class="short-title",</span>的文字,那么很快就匹配到了,正则出来了,r'class="short-title">(.+)</span>'
后面的就是依次类推。完成这个,那么我们就开始写我们的爬虫程序,导入我们想要用的模块,定义我们想要用的变量。爬去,匹配,然后循环得出来我们的结果,写入文档。代码如下
#作者:雷子
#qq:952943386
#邮箱:leileili126@163.com
#欢迎大家来点评,有问题可以进行沟通
import urllib.request
import os
import re
file=open(r'meituancde.txt','w')
url="http://bj.meituan.com/"
headers={"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X
10.10; rv:47.0) Gecko/20100101 Firefox/47.0"}
req=urllib.request.Request(url,headers=headers)
response = urllib.request.urlopen(req)
html = response.read().decode("utf-8")
title_reg=r'<span
class="xtitle">(.+?)</span>' #匹配团购
jianjie_reg=r'class="short-title">(.+)</span>' #匹配团购简介
sellnum_reg=r'<strong class="num">(.+)</strong>' #销售的数量
pire_reg=r'<strong>(.+)</strong>' #团购的售价
title_list = re.findall(title_reg,html)
jianjie_list=re.findall(jianjie_reg,html)
sellnum_list=re.findall(sellnum_reg,html)
pire_list=re.findall(pire_reg,html)
meitu={}
i = 0
for title in title_list:
meitu['团购'] =title_list[i]
for jianjie in jianjie_list:
meitu['简介']=jianjie_list[i]
for sellum in sellnum_list:
meitu['销量']=sellnum_list[i]
for pire in
pire_list:
meitu['美团售价']=pire_list[i]
i+=1
print(meitu)
if len(meitu) !=0:
file.write(str(meitu))
file.write("\n")
file.close
print("写入正确")
代码 百度云
python3.x爬取美团信息的更多相关文章
- python3+beautifulsoup4爬取汽车信息
import requests from bs4 import BeautifulSoup response = requests.get("https://www.autohome.com ...
- Python 爬取美团酒店信息
事由:近期和朋友聊天,聊到黄山酒店事情,需要了解一下黄山的酒店情况,然后就想着用python 爬一些数据出来,做个参考 主要思路:通过查找,基本思路清晰,目标明确,仅仅爬取美团莫一地区的酒店信息,不过 ...
- python爬取“美团美食”汕头地区的所有店铺信息
一.目的 获取美团美食每个店铺所有的评论信息,并保存到数据库和本地 二.实现步骤 获取所有店铺的poiId 首先观察详情页的url,后面是跟着一串数字的,而这一串数字代表着每个店铺特有的id号,我们称 ...
- python3爬虫-爬取58同城上所有城市的租房信息
from fake_useragent import UserAgent from lxml import etree import requests, os import time, re, dat ...
- Python3从零开始爬取今日头条的新闻【二、首页热点新闻抓取】
Python3从零开始爬取今日头条的新闻[一.开发环境搭建] Python3从零开始爬取今日头条的新闻[二.首页热点新闻抓取] Python3从零开始爬取今日头条的新闻[三.滚动到底自动加载] Pyt ...
- python爬取酒店信息练习
爬取酒店信息,首先知道要用到那些库.本次使用request库区获取网页,使用bs4来解析网页,使用selenium来进行模拟浏览. 本次要爬取的美团网的蚌埠酒店信息及其评价.爬取的网址为“http:/ ...
- [python] 常用正则表达式爬取网页信息及分析HTML标签总结【转】
[python] 常用正则表达式爬取网页信息及分析HTML标签总结 转http://blog.csdn.net/Eastmount/article/details/51082253 标签: pytho ...
- python学习之——爬取网页信息
爬取网页信息 说明:正则表达式有待学习,之后完善此功能 #encoding=utf-8 import urllib import re import os #获取网络数据到指定文件 def getHt ...
- Python3从零开始爬取今日头条的新闻【一、开发环境搭建】
Python3从零开始爬取今日头条的新闻[一.开发环境搭建] Python3从零开始爬取今日头条的新闻[二.首页热点新闻抓取] Python3从零开始爬取今日头条的新闻[三.滚动到底自动加载] Pyt ...
随机推荐
- 【多线程】Java并发编程:Lock(转载)
原文链接:http://www.cnblogs.com/dolphin0520/p/3923167.html Java并发编程:Lock 在上一篇文章中我们讲到了如何使用关键字synchronized ...
- 用c++库函数轻松解决回文问题
在<Accelerated C++>6.1学到的,这个解决回文问题的方案很简单,有必要把它记录下来. begin返回一个迭代器,它会从容器的最后一个元素开始,并且从后向前地逆序访问容器.e ...
- HDU 2516 取石子游戏(FIB博弈)
取石子游戏 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- C# winform只有一个进程
在做winform程序的时候,有时候需要客户只能起一个进程,不能起多个进程,用如下代码可以实现. internal static class Program { private static Mute ...
- ems server
自DELPHI XE7始提供企业移动服务,方便移动等设备通过REST+JSON访问中间件提供的服务. EMS (Enterprise Mobility Services企业移动服务) 服务器给EMS客 ...
- HDU 1394Minimum Inversion Number(线段树)
题目大意是说给你一个数组(N个),没戏可以将其首部的k(k<N)个元素移动至尾部,这样总共会形成N个序列 现在要求这n个序列中逆序对数最少的那一个序列有多少个逆序对 最初的确是没太多思路,就算知 ...
- POJ1275Cashier Employment(查分约束系统)
链接1275Cashier Employment 题目大意就是说有一些人来应聘一个超级市场的工作,每个人的应聘的起始时间在0~23时之间,而超市在时间i需要R[i]个工作人员,而每个人的工作时间都是8 ...
- MFC下的各种字符串类型和相互转换
MFC下的常用字符串数据类型表示的含义: L:Long 长 P:Point 指针 C:Const 常量 W:Wchar_t 宽字符 T:TCHAR STR:String 字符串 在看看MF ...
- Computational Geometry Template_Polygon
#include <stdlib.h> #include <math.h> #include <iostream> #define MAXN 1000 #defin ...
- 规范打log
在公司工作快3年了,debug用的最多的还是分析程序打出来的log. 怎样打log,打什么样的log,也是很值得研究的事情.好的打log方式,能够很快的分析和解决问题. 下面总结两点: 1.在log中 ...