七夕小工具
本帖最后由 正己 于 2020-8-25 15:07 编辑***0x0前言***
***
又到了一年一度的好日子,今天全国各地的宾馆老板个个喜笑颜开。
某种症状也已经出现了人传人的现象,呱呱呱呱呱呱。
***0x1***
***
我写了个小工具,希望能帮到晚上的hxd。首先我们要确定一个原则,超过一张床的房子是绝对不考虑的,懂得都懂。
```
bed = li.xpath('.//div[@class="_1etkxf1"]/span/span/text()')#获取床数
if bed[-2:] == '1床': #超过一张床的就绝对不会考虑
```
其他的废话不多说,我代码都写了注释,如果没有环境的,我也帮你们打包好了。
***0x2最后***
***
由于我个人的疏忽,没考虑到评价为空,导致程序出错,我重新修改了一下代码,现在就可以完美运行了。还有就是关于生成的csv文件,不能直接打开,要在excel中选择文本导入。
蓝奏云链接:https://www.lanzoui.com/iRi96g1ce7a
附上源代码
```
import requests
from lxml import etree
import pandas as pd
headers={
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36'
}#构建请求头
infos =[]#创建一个空列表
def get_url(link):
htmls = requests.get(url=link,headers=headers).text#伪装请求
html = etree.HTML(htmls) #解析
lis = html.xpath('//div[@class="_y5sok6"]')#获取页面属性
for li in lis:
bed = li.xpath('.//div[@class="_1etkxf1"]/span/span/text()')#获取床数
if bed[-2:] == '1床': #超过一张床的就绝对不会考虑
name = li.xpath('.//div[@class="_goi623"]/div/text()')#获取名字
price = li.xpath('.//div[@class="_1orel7j7"]/div/span/text()')#获取价格
assess = li.xpath('.//div[@class="_11jctj9"]/span/span/text()') #获取评价
housetype = li.xpath('.//div[@class="_1etkxf1"]/span/span/text()')#获取房子类型
if assess:#判断评价是否为空
info ={'房名':name,'价格':price,'房子类型':housetype,'评价':assess}
else:
info = {'房名': name, '价格': price, '房子类型': housetype, '评价': None}
infos.append(info)#写入字典
data = pd.DataFrame(infos)#传入数据
data.to_csv('民宿.csv')#生成csv文件
print('保存成功')
if __name__ == '__main__':
dizhi = input("请输入城市名称(拼音),例如:xiamen:")
url = 'https://www.airbnb.cn/s/{}/homes?query={}&items_offset='.format(dizhi,dizhi)#传入城市参数
for i in range(10):#循环url
num = i * 18
link = url + str(num)
get_url(link)
``` 好东西,可惜用不到 以为是什么七夕恶作剧结果是货真价实的狗粮,最难受的是顺着评论看下去居然还有个来自管理的暴击{:301_973:} 祝大家七夕快乐~~~孤寡 孤寡 孤寡 房子订好了,请问女朋友上哪领? 半小时了,还没审核过呢 正己 发表于 2020-8-25 11:59
半小时了,还没审核过呢
已经通过了,管理也要过七夕呢 苏紫方璇 发表于 2020-8-25 13:00
已经通过了,管理也要过七夕呢
啊哈哈哈,好的,打扰管理过七夕了,是在下的错 管理也很皮啊~ 放个绿蛤蟆,这个暗示有点深啊 七夕快乐