创造太阳 发表于 2020-5-4 15:14

女朋友比较喜欢民宿风格,我就用python爬了一个短租民宿网站,做个合格的男朋友!

我给女朋友发了20000句情话,她暂时不想听情话了!(详见:女朋友抱怨不会说情话,用python给她发了20000句!让她见识见识情话大全!https://www.52pojie.cn/thread-1113388-1-1.html(出处: 吾爱破解论坛))
女朋友最近不找我下五子棋了!(详见:女朋友下棋比我厉害,还特别嚣张,不能忍。拿python敲个辅助,看她如何嚣张!https://www.52pojie.cn/thread-1116867-1-1.html(出处: 吾爱破解论坛))
不过也没怼我,上次的表情包好像白存了,不过还是留着吧,万一派上用场了呢?(详见:为了防止女朋友怼我,我就先用python爬了3600个怼人表情包等她来战!https://www.52pojie.cn/thread-1118801-1-1.html(出处: 吾爱破解论坛))
也不知道你们找到女朋友了没有,找到的话,一起来交流研究!(详见:别再酸了,女朋友是不可能发,但是可以用python帮你创造机会搞到一个!搞到来告诉我!https://www.52pojie.cn/thread-1119202-1-1.html(出处: 吾爱破解论坛))
女朋友存了好多网上的男明星的照片,我准备用python全部换成我的脸!https://www.52pojie.cn/thread-1120431-1-1.html(出处: 吾爱破解论坛)
为了知道女朋友的小秘密,我用python爬了榜姐微博下60000个女生小秘密!https://www.52pojie.cn/thread-1123043-1-1.html(出处: 吾爱破解论坛)
女朋友每晚都给我发诱惑图,我用python搞了更多诱惑图反击她!https://www.52pojie.cn/thread-1128807-1-1.html(出处: 吾爱破解论坛)
女朋友要和我拼手速,不得不用python让她见识我的手速!年轻人,不要试图和你不知...https://www.52pojie.cn/thread-1139015-1-1.html(出处: 吾爱破解论坛)
为了看看女朋友生日那天是什么样子,我用python爬了一年的照片!https://www.52pojie.cn/thread-1144764-1-1.html(出处: 吾爱破解论坛)
女朋友说A罩杯最流行,我用python爬了几十万的购买数据来证明她是在狡辩!https://www.52pojie.cn/thread-1145712-1-1.html(出处: 吾爱破解论坛)
女朋友说因为异性相吸,所以容易产生真爱!我觉得得用python验证一下!https://www.52pojie.cn/thread-1151862-1-1.html(出处: 吾爱破解论坛)
周扬青和罗志祥分手,女朋友说要去周扬青吧看看有没有经验贴,我只好用python快速...https://www.52pojie.cn/thread-1163712-1-1.html(出处: 吾爱破解论坛)






前几天女朋友让我找一下短租网站上的信息,我就用python爬了一个短租民宿网站,本来打算分享一下代码,但是嘛还是先和女朋友研究一下我爬来的信息比较重要,所以就拖着了。
然后有点忙和累,没什么力气和动力来分享代码,今天就趁着女朋友洗澡的时间来分享一下代码,看看是我发帖快还是她洗澡快吧。
找到一个民宿短租网站
小猪短租:https://www.xiaozhu.com
(我还以为是小猪开的呢)
找一下目标城市,然后观察网址规律


很简单就能看出来,也就是变换了一下网址的数字,和页码一样,所以就可以凭借网址了,
用range函数来生成数字,然后拼接网址。
然后查看详情页的链接是href中,可以用xpath提取。

详情页的信息也可以用xpath提取。

代码如下(喜欢和女朋友分床睡的朋友就不用if来判断了):
import requests   #导入requests库   pip install requests
from lxml import etree   #从lxml库导入etree



#设置请求头
headers = {
    "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36",
    "Cookie" : "BAIDUID=04210E0953548D299B0D4ECDDF05AFB1:FG=1"
}

all_infos = []    #设置空列表,用来装信息
for i in range(1,50):   #依次生成1-49,,49页差不多挺多的了,再多就挑花眼了
    # url = "http://tianjin.xiaozhu.com/search-duanzufang-p2-0/"   #第2页
    # url = "http://tianjin.xiaozhu.com/search-duanzufang-p3-0/"   #第3页
    url = "http://tianjin.xiaozhu.com/search-duanzufang-p" + str(i) + "-0/"#拼接网址
    res = requests.get(url,headers=headers).text   #用requests库的get函数来访问url,并将信息转换为文本格式
    # print(res)   #打印查看
    res_xpath = etree.HTML(res)   #转换为xpath格式
    urls = res_xpath.xpath('//*[@id="page_list"]/ul/li/a/@href')   #在浏览器中获得每个短租详情页的网址
    # print(urls)   #打印查看
    for url in urls:    #依次获得urls列表中的元素url
      res = requests.get(url,headers=headers).text#注释参考上边
      print(res)
      res_xpath = etree.HTML(res)
      bed = res_xpath.xpath('//*[@id="introduce"]/li/h6/text()')
      print(bed)
      bed = "".join(bed)   #将列表数据转换为str
      if bed == "共1张":    #如果 bed==“共1张”,也就是一张床的话,执行以下代码
            title = res_xpath.xpath('//*[@class="pho_info"]/h4/em/text()')
            # print(title)
            all_infos.extend(title) #list.extend可以直接将列表作为str添加到列表,此时title中只有一个元素
            address = res_xpath.xpath('//*[@class="pho_info"]/p/@title')
            # print(address)
            all_infos.extend(address)
            price = res_xpath.xpath('//*[@id="pricePart"]/div/span/text()')
            # print(price)
            all_infos.extend(price)
            content = res_xpath.xpath('//*[@id="introducePart"]/div/div/div/p/text()')
            # print(content)
            content = "".join(content)
            all_infos.append(content)
            traffic = res_xpath.xpath('//*[@id="introducePart"]/div/div/div/p/text()')
            # print(traffic)
            traffic = "".join(traffic)
            all_infos.append(traffic)
      else:    #如果不是1张床的话
            pass   #pass 完全不考虑的了!

for all_info in all_infos:
    with open("天津短租.txt","a") as f:    #打开一个名为“天津短租”的txt文件,“a"追加写入
      f.write(all_info + "\n")    #写入信息和换行
print("保存完成!")





分享完成,女孩子洗澡时间是真长呀!

阿狸主题曲 发表于 2020-5-4 15:34

eshao2010 发表于 2020-5-4 15:47

你和你女朋友这样开车合适吗?

Victor-rich 发表于 2020-5-4 15:20

学习的时候也要吃狗粮,太难了{:17_1079:}

继续攻 发表于 2020-5-4 15:19

真牛,给你敲个大大的合格男友章

fanvalen 发表于 2020-5-4 15:19

走走走带她去民宿去

qzxnr 发表于 2020-5-4 15:19

{:1_909:}我怀疑你在开车 我找不到证据

1343085440 发表于 2020-5-4 15:23

什么意思啊

在下甘愿 发表于 2020-5-4 15:28

就这?学到了。

晨浩 发表于 2020-5-4 15:30

学习的时候也要吃狗粮

17315044449 发表于 2020-5-4 15:41

就这,就这?就这?那么爬虫有了,女朋友哪里领呢?{:1_918:}
页: [1] 2 3 4 5 6
查看完整版本: 女朋友比较喜欢民宿风格,我就用python爬了一个短租民宿网站,做个合格的男朋友!