Scrapy实战!Python抓取大众点评数据之代理ip实现

在这里插入图片描述
现在,让我们看一看爬虫是如何获取大众对酒店信息的评价。以广州酒店信息为主要对象,包括酒店名称,平均价格,品牌等。爬之前,打开酒店的大众评价页,研究网页结构。右键检查,查找我们需要的信息。

1、爬取思路:
主要集中在热闹商区的餐馆酒店,因此直接按大众点评的热门商区进行爬取,排序选择按人气排序。

2、建立爬取规则
注意一定要测试你的规则,看一下是否正确,研究了一下网页结构,发现分类和区域这两个字段的css样式一致,可能是造成混淆的原因。所以区域的定位转到上一层的a标签,这次就测试成功了。

def get_text(id):
	#获取加密的值的x,y坐标,例如:芝麻HTTP代理
	re_wqd=re.compile(r"\.%s{background:-(\d+)\.0px -(\d+)\.0px;}" % id)
	time.sleep(0.1)
	wqd = re.findall(re_wqd, one)
	x=wqd[0][0] #x坐标
	y=wqd[0][1] #y坐标
	sum_x=int((int(x)/14))  #计算x偏移量
	sum_y=round(int(y)/34)  #计算y的偏移量
	if sum_y!=0:
		sum_y -=1
	# print("x轴:{},y轴:{}|x偏移量:{},y偏移量:{}".format(e,f,sum_e,sum_f))
	#获取到加密的数字组
	url_qfr="http://h.zhimaruanjian.com/?utm-source=xianyu&utm-keyword=?1"
	# url_content="http://h.zhimaruanjian.com/?utm-source=xianyu&utm-keyword=?1"
	response=requests.get(url_qfr,headers=head.headers).text
	get_wqd=re.findall(">(.+?)</text>",response)
	wqd_list=[]
	for i in get_wqd:
		wqd_list.append(list(i))
	return wqd_list[sum_y][sum_x]

总结:爬行的数据量还有点多,最初爬行的只有单线程,白天爬行4、5千这样的数据,发现太慢,改善多线程,速度加倍,同时爬行1万多个数据主要是不能爬得太快,一是怕ip被封印,二是怕伤害网站服务器。提取高质量芝麻HTTP代理ip,慢慢爬!无偿代理ip分享裙 齐思思酒肆贰六酒肆 免费领取爬虫代理!

猜你喜欢

转载自blog.csdn.net/zhimaHTTP/article/details/114895004