python爬取大众点评_浅谈python爬取58同城,大众点评这两个网站
1.爬取58同城租房网遇到的坑:我爬了一页数据被封了ip,此时的我是非常的不爽,才十几条数据就封我,于是我就想着一定得找ip代理来解决这个问题,后面就写了个ip代理去弄,另外把之前头部信息ua改成了ua池,然后再爬取58同城,瞬间爬到了数据。头部信息如下:
from fake_useragent import UserAgent
import random
# ua = UserAgent(use_cache_server=False)
ua =UserAgent()
hd ={
"User-Agent":ua.random
}
爬取58成功搞定
2.爬取大众点评景点名称时遇到的坑:首先headers一定得加上,注意:refer很重要,一定得写对。另外的话加不加代理其实都没啥影响,只需要每次获取cookie就可以了。
头部信息headers如下:
hd_xq = {
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.117 Safari/537.36',
'Cookie':'s_ViewType=10; _hc.v=75fb4106-ab4f-b6a4-2415-b2aa30583f05.1524064271; _lxsdk_cuid=162d94f3c0ec8-0ed6c642bd8a38-b353461-100200-162d94f3c0fc8; _lxsdk=162d94f3c0ec8-0ed6c642bd8a38-b353461-100200-162d94f3c0fc8; _lxsdk_s=162d94f3c10-dc5-32f-fc3%7C%7C155',
'Referer':'http://www.dianping.com/shenzhen/ch35/g33831', 'Connection':'keep-alive'
}
获取cookie的方法:
def get_cookies():
from urllib import request
from http import cookiejar
#声明一个CookieJar对象实例来保存cookie
cookie = cookiejar.CookieJar()
#利用urllib.request库的HTTPCookieProcessor对象来创建cookie处理器,也就CookieHandler
cookie_support = request.HTTPCookieProcessor(cookie)
#通过CookieHandler创建opener
opener = request.build_opener(cookie_support)
#创建Request对象
req1 = request.Request(url='http://www.dianping.com/shop/1705777',headers=hd_xq)
response1 = opener.open(req1)
html = response1.read().decode('utf-8')
return html
这样的话大众点评就可以顺利爬取了。
另外大众点评的经纬度是高德的,如果你想转成百度的话,代码如下:
#高德地图转百度地图
def gcj02tobd09(lng, lat):
"""
火星坐标系(GCJ-02)转百度坐标系(BD-09)
谷歌、高德——>百度
:param lng:火星坐标经度
:param lat:火星坐标纬度
:return:
"""
z = math.sqrt(lng * lng + lat * lat) + 0.00002 * math.sin(lat * x_pi)
theta = math.atan2(lat, lng) + 0.000003 * math.cos(lng * x_pi)
bd_lng = z * math.cos(theta) + 0.0065
bd_lat = z * math.sin(theta) + 0.006
print(bd_lng)
print(bd_lat)
return [bd_lng, bd_lat]
补充:经过一个礼拜的爬数据:针对网站:58,大众点评;总结如下:
第一:58同城这个网站如果使用代理ip的话,换不换ua没有任何影响,换ua的话不使用ip代理的话就可能出现问题了,如链接超时了,404了等一系列错误。
第二:大众点评这个网站就是个坑了,爬着爬着突然给你来个验证码,这时候要么你破解验证码,要么手动暂停程序再输入验证码,当然这边的话我不建议大家这么做太麻烦了。有人建议我说使用selenium去爬,我爬过,有时可以有时不行,当你爬不同的数据的时候貌似有不同的效果,所以建议大家使用唯一有效的办法就是自动添加cookie,并且使用代理这样的话基本大众点评上的所有数据你应该都可以爬下来,如果不使用代理的话,那就看运气吧,多运行几次数据也可以爬到,cookie一定得添加,不然拒绝你访问的。-----------------------------------最后的最后叫大家一个更简单的方法:爬安卓端数据。这样啥都可以解决,没毛病。(备注:有大佬发现我哪不对的话,或者有好的方法,还请给个建议,谢谢<>
QQ:979352156)
python爬取大众点评_浅谈python爬取58同城,大众点评这两个网站相关推荐
- python生成器和迭代器作用_浅谈Python中的生成器和迭代器
迭代器 迭代器协议 对象必须提供一个next方法,执行该方法要么返回迭代中的下一项,要么返回一个异常来终止本次迭代.(只能往前走,不能往后退!) 迭代器对象 遵循了(实现了)迭代器协议的对象.(对象内 ...
- python中zip的使用_浅谈Python中的zip()与*zip()函数详解
前言 1.实验环境: Python 3.6: 2.示例代码地址:下载示例: 3.本文中元素是指列表.元组.字典等集合类数据类型中的下一级项目(可能是单个元素或嵌套列表). zip(*iterables ...
- python如何导入requests模块_浅谈python中requests模块导入的问题
浅谈python中requests模块导入的问题 今天使用Pycharm来抓取网页图片时候,要导入requests模块,但是在pycharm中import requests 时候报错. 原因: pyt ...
- python中 是什么类型_浅谈python中的变量默认是什么类型
浅谈python中的变量默认是什么类型 1.type(变量名),输出的结果就是变量的类型: 例如 >>> type(6) 2.在Python里面变量在声明时,不需要指定变量的类型,变 ...
- python中判断列表数据类型_浅谈Python数据类型判断及列表脚本操作
数据类型判断 在python(版本3.0以上)使用变量,并进行值比较时.有时候会出现以下错误: TypeError: unorderable types: NoneType() < int() ...
- python 字典键值重复_浅谈python字典多键值及重复键值的使用
在python中使用字典,格式如下: dict={ key1:value1 , key2;value2 ...} 在实际访问字典值时的使用格式如下: dict[key] 多键值 字典的多键值形式如下: ...
- python中怎么调用函数_浅谈Python中函数的定义及其调用方法
一.函数的定义及其应用 所谓函数,就是把具有独立功能的代码块组织成为一个小模块,在需要的时候调用函数的使用包含两个步骤 1.定义函数–封装独立的功能 2.调用函数–享受封装的成果 函数的作用:在开发时 ...
- python读取json数据格式问题_浅谈Python中的异常和JSON读写数据的实现
异常可以防止出现一些不友好的信息返回给用户,有助于提升程序的可用性,在java中通过try ... catch ... finally来处理异常,在Python中通过try ... except .. ...
- python中dtype什么意思_浅谈python 中的 type(), dtype(), astype()的区别
如下所示: 函数 说明 type() 返回数据结构类型(list.dict.numpy.ndarray 等) dtype() 返回数据元素的数据类型(int.float等) 备注:1)由于 list. ...
最新文章
- mysql慢查询开启及分析方法
- 苹果市值盘中超2万亿美元,从1万亿到2万亿仅用时2年
- 360金融产品总监赵鑫:互金产品经理应该关心这些东西
- oracle堆,oracle被一堆insert和update堵死解决方案
- 施一公的另一位女弟子:4年8篇CNS论文,入选“未来女科学家”,未来有望比肩颜宁...
- APP自动化测试系列之获取Android的Activity 和 Package
- 批量删除QQ好友的方法
- ASP.NET MVC3 异常处理 学习笔记
- 比较重要的物料管理交易代码列表
- c# hdf5 写string_关于C#中读取HDF4文件数据的说明
- 数据库 习题答案 系统概念 第七章
- SPSS 进行两因素重复测量方差分析(Two-way repeated-measures ANOVA)详细操作步骤 (上)
- 观3b1b线性代数本质系列视频的思考感悟
- 解决outlook不能访问hotmail邮箱的问题
- ubuntu服务器lxde桌面,LXDE桌面环境简介
- 11.1 身在大学,不追浮云——《逆袭大学》连载
- 分子动力学模拟gro格式转换为 car
- ARM APCS 学习笔记
- kali linux 命令
- 怎么清理计算机里的音乐,如何清理电脑中的重复的音乐
热门文章
- C++11中的std::function
- 春运12306的bug
- Android Studio安装插件提示was not installed: Cannot download的解决办法(仅限AS2.2版本以上)
- linux搜索关键字并定位,Linux系统中文件定位与查找(示例代码)
- 什么?你竟然还没有用这几个chrome插件?
- 在LINQ to SQL中使用Translate方法以及修改查询用SQL
- 由归并算法引申出来的其他问题
- 写文件头的算法流程及C代码实现
- No JVM could be found on your system解决方法
- linux7安装EMC的多路径,Oracle Linux 7.8 多路径(Multipath)+Udev绑定磁盘