python3的selenium库爬取去哪儿网酒店信息并保存,再利用百度API将酒店地址的。。。

python3的selenium库爬取去哪⼉⽹酒店信息并保存,再利⽤百度API将酒店地址
的。。。
⽤python3 的 selenium库爬取去哪⼉⽹酒店信息并保存
再利⽤百度API将酒店地址的经纬度爬取并保存
Python3 的 selenium库可以模拟打开页⾯,获得加载完成的页⾯信息,⼀些基本⽤法,请⾃⾏度娘,就不再赘述了
1.将某城市的所有酒店链接爬取下来。
r'<p class="price_new"><a href="(.*?)"><span'
提取类似 /dt-10236 这样的字符串就可以了
然后就是逐页提取
先到下⼀页的位置
browser.find_element_by_xpath('//div[@class="G_page clearfix"]/p[@class="next fl_right cur able"]').click()
⽤selenium库中的 .click()⽅法可以模拟点击
这样就可以把所有页的酒店链接提取出来了
2.提取每个酒店的信息
r'</p><div class="name_cont">(.*?)</p></div>'
写个正则表达式,提取出来
上⾯其他酒店基本信息的位置
请⾃⾏根据⾃⼰想提取的信息去写正则表达式
然后将提取出的信息存⼊表格
提取完去哪⼉的酒店的信息的表格样式
3.利⽤百度API和酒店地址将酒店地址的经纬度写⼊表格
到此完成所有信息爬取,下图是有经纬度的酒店信息表格⽰例
下⾯是部分代码
酒店链接提取部分代码
browser=webdriver.Chrome()
url='hotel.qunar/cn/zhenjiang/?fromDate=2020-05-18&toDate=2020-05-19&cityName=%E9%95%87%E6%B1%9F' (url)
time.sleep(5)
p0=r'<p class="price_new"><a href="(.*?)"><span'
r0=repile(p0)
html=browser.page_source
hotells=r0.findall(html)
酒店信息提取部分代码
text_url=url1+i
<(text_url)
time.sleep(6)
html2=dirver.page_source分凝器
彩铅芯
p1=r'</p><div class="name_cont">(.*?)</p></div>'# 酒店名称和地址
p1name=r'<p class="name">(.*?)<span class="type"'# 酒店名称
p1add1=r'<p class="addr">(.*?)<span'# 酒店地址1
p1add2=r']</span>(.*?)<span class="map">'# 酒店地址2
p2=r'<div class="hotel_desc">(.*?)</div></aside>'# 酒店详情
沥青拌合站筛网>丙烯运输p2cont=r'联系⽅式</dt><dd class="cont">(.*?)</dd>'# 联系⽅式
p2item=r'</span><span class="item">(.*?)</span></dd>'# 基本信息(多少间房)
p2words=r'<div class="words(.*?)</p></div>'# 酒店简介
r1=repile(p1)
r1name=repile(p1name)
r1add=repile(p1add1)
r2=repile(p2)
r2cont=repile(p2cont)
r2item=repile(p2item)
r2words=repile(p2words)
h1=r1.findall(html2)
h1name=r1name.findall(h1[0])
h1add1=r1add1.findall(h1[0])
h1add2=r1add2.findall(h1[0])
h2=r2.findall(html2)
h2cont=r2cont.findall(h2[0])
h2item=r2item.findall(h2[0])
h2words=r2words.findall(h2[0])
h2word=h2words[0]
铸造模具
保存表格⽤xlwt库,具体请⾃⾏度娘
百度API经纬度信息提取部分代码
打开表格⽤xlrd库,具体请⾃⾏度娘
(addurl,headers=headers)
time.sleep(1)
按摩毯
rl1=r'{"location":{"lng":(.*?),"lat"'
rl2=r'"lat":(.*?)},"precise"'
lng=re.findall(rl1,addr)
lat=re.findall(rl2,addr)
先⽤xlutils库的py⽅法把之前xlrd读取的表格对象复制,赋给新的对象再⽤xlwt库把经度和纬度信息写⼊新的对象并保存为新的表格
结束
做项⽬不易,如有转载,请注明出处,谢谢

本文发布于:2024-09-25 05:24:21,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/252283.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:酒店   信息   提取   表格   地址   经纬度   筛网
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议