首页 > 其他分享 >爬虫实战(安居客二手房和租房信息爬取)

爬虫实战(安居客二手房和租房信息爬取)

时间:2022-12-05 15:34:16浏览次数:33  
标签:info text 爬虫 li 爬取 zu property 安居 css

不说废话,直接上代码!

import requests
import csv
import parsel  # 解析数据
# 安居客二手房信息
# 网页源代码解析
# json数据解析
for page in range(1,51):
    print(f"正在爬取第-----{page}------页数据信息!")
    url=f'https://anjuke.com/sale/p{page}/'
    header = {
        'cookie': 'sessid=E8557945-A48A-DECA-D8A1-102112E95525; aQQ_ajkguid=6005B887-989E-9E1E-EB74-C01BBCE2362D; twe=2; ajk-appVersion=; fzq_h=3cdd8dc4ff49c08b22268609df890299_1670208027764_406af778a32a4516a91f70fef3d1409d_986905475; id58=CrIclWONWihf8mLgZefRAg==; ctid=231; lps=https%3A%2F%2Fyx.zu.anjuke.com%2F%7Chttps%3A%2F%2Fyuxi.anjuke.com%2F; cmctid=2040; wmda_uuid=48c23ab83834bd513b73a85f47e86a23; wmda_new_uuid=1; wmda_session_id_6289197098934=1670208078386-18df4190-2941-5746; wmda_visited_projects=%3B6289197098934; obtain_by=1; xxzl_cid=df78ca61c6fa40b680bd980d2ff3bd01; xxzl_deviceid=out+sEolHB8HXmPxXFzGJuGNceTZiUsWOVAr25QoCxZqXuiGQDtGyv3aQwmOHRGV',
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36',
        'referer': 'https://yx.zu.anjuke.com/fangyuan/'
    }

    response = requests.get(url=url,headers=header)
    html_data = response.text
    # print(response)
    selectors = parsel.Selector(html_data)
    lis = selectors.css('.property-content')
    for li in lis:
        标题 = li.css('.property-content-title-name::text').get()
        户型 = li.css('.property-content-info:nth-child(1) .property-content-info-text:nth-child(1) span::text').getall()
        面积 = li.css('.property-content-info:nth-child(1) .property-content-info-text:nth-child(2)::text').getall()
        朝向 = li.css('.property-content-info:nth-child(1) .property-content-info-text:nth-child(3)::text').get()
        楼层 = li.css('.property-content-info:nth-child(1) .property-content-info-text:nth-child(4)::text').get()
        建造时间 = li.css('.property-content-info:nth-child(1) .property-content-info-text:nth-child(5)::text').get()
        小区名称 = li.css('.property-content-info:nth-child(2) .property-content-info-comm-name::text').getall()
        小区地址 = li.css('.property-content-info:nth-child(2) .property-content-info-comm-address span::text').getall()
        总价 = li.css('.property-price .property-price-total .property-price-total-num::text').getall()
        单价 = li.css('.property-price .property-price-average::text').getall()
        print(标题)
        with open('./txt/玉溪安居客二手房.csv',mode='a+',encoding='utf-8-sig',newline='') as f:
            csv_text = csv.writer(f)
            csv_text.writerow((标题,户型,面积,朝向,楼层,建造时间,小区名称,小区地址,总价,单价))
print("爬取完成!")

这是爬取下来的格式,当然里面的标点符号我替换掉了

 

 租房信息:

import requests
import csv
import parsel  # 解析数据
# 安居客租房信息
# 网页源代码解析
# json数据解析
for page in range(1,34):
    print(f"正在爬取第-----{page}------页数据信息!")
    url=f'https://yx.zu.anjuke.com/fangyuan/p{page}/'
    header = {
        'cookie': 'sessid=E8557945-A48A-DECA-D8A1-102112E95525; aQQ_ajkguid=6005B887-989E-9E1E-EB74-C01BBCE2362D; twe=2; ajk-appVersion=; fzq_h=3cdd8dc4ff49c08b22268609df890299_1670208027764_406af778a32a4516a91f70fef3d1409d_986905475; id58=CrIclWONWihf8mLgZefRAg==; ctid=231; lps=https%3A%2F%2Fyx.zu.anjuke.com%2F%7Chttps%3A%2F%2Fyuxi.anjuke.com%2F; cmctid=2040; wmda_uuid=48c23ab83834bd513b73a85f47e86a23; wmda_new_uuid=1; wmda_session_id_6289197098934=1670208078386-18df4190-2941-5746; wmda_visited_projects=%3B6289197098934; obtain_by=1; xxzl_cid=df78ca61c6fa40b680bd980d2ff3bd01; xxzl_deviceid=out+sEolHB8HXmPxXFzGJuGNceTZiUsWOVAr25QoCxZqXuiGQDtGyv3aQwmOHRGV',
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36',
        'referer': 'https://yx.zu.anjuke.com/fangyuan/'
    }
    response = requests.get(url=url,headers=header)
    html_data = response.text
        # print(response)
    selectors = parsel.Selector(html_data)
    lis = selectors.css('.zu-itemmod')
    for li in lis:
        标题 = li.css('.zu-info .strongbox::text').get()
        户型 = li.css('.zu-info .strongbox::text').getall()[1]+'室'+li.css('.strongbox::text').getall()[2]+'厅'
        面积 = li.css('.zu-info .strongbox::text').getall()[3]+'㎡'
        价格 = li.css('.zu-side .strongbox::text').getall()
        出租类型 = li.css('.zu-info .cls-1::text').getall()
        朝向 = li.css('.zu-info .cls-2::text').getall()
        电梯 = li.css('.zu-info .cls-3::text').getall()
        位置 = li.css('.zu-info .details-item::text').getall()[8]
        小区 = li.css('.zu-info a::text').getall()
        楼层 = li.css('.zu-info p::text').getall()[4]
        联系人 = li.css('.zu-info p::text').getall()[5]
        print(位置)
        with open('./txt/玉溪安居客租房.csv',mode='a+',encoding='utf-8-sig',newline='') as f:
            csv_text = csv.writer(f)
            csv_text.writerow((标题,户型,面积,价格,出租类型,朝向,电梯,位置,小区,楼层,联系人))
print("爬取完成!")

这是爬取后修改为.xlsx格式的

 

 懂得都懂。现在爬取数据,后续更新对于数据的处理的内容文章!

标签:info,text,爬虫,li,爬取,zu,property,安居,css
From: https://www.cnblogs.com/frank1/p/16952430.html

相关文章

  • 动态爬取
    fromseleniumimportwebdriverfromselenium.webdriver.common.byimportByfromselenium.webdriver.common.keysimportKeysimporttimee=webdriver.Edge()z=1e.get('......
  • 循环爬取页面信息
    #循环爬取起点中文网importrequestsfromlxmlimportetreeua={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chro......
  • 循环爬取页面并存储
    #循环爬取起点中文网并存储importrequestsfromlxmlimportetreeua={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko......
  • 005爬虫之获取电影天堂必看热片电影的下载地址
    今天还是继续用正则表达式提取电影天堂电影的下载地址,这里有一点不同的是需要先获取主页面的源代码,然后通过解析主页源代码再获取子页面的源代码,最后通过解析子页面的源代......
  • 004爬虫之获取豆瓣TOP250电影数据
    今天我们继续通过正则表达式解析页面源代码,获取的网页为豆瓣TOP250,具体网址为:https://movie.douban.com/top250今天的主要思路:1、获取网页源代码;2、通过正则表达式解析......
  • 爬虫.第二篇
    找到chrome驱动程序chromedriver.exe,点击打开,可以看到驱动的版本号,确认驱动的大版本号与chrome浏览器的大版本号是一致的通过驱动程序启动chromefromseleniumimport......
  • Python爬取中国最好大学排行榜报错TypeError: unsupported format string passed to N
    ​本文使用的是如下网址:http://gaokao.xdf.cn/201911/10991728.html1问题分析与解决报错为类型错误,显示我们传递了不支持的格式字符串1.1strip()我们查看网页源码,......
  • 爬取风险库
     没有读取到内容信息,有iframe:ele_iframe=driver.find_element_by_xpath('xpath')#再将定位对象传给switch_to_frame()方法driver.switch_to.frame(ele_iframe) ......
  • 爬虫-爬动漫
    查看源代码面对这种禁止看页面源码的初级手段,一个优雅的通用解决办法是,在连接前加个view-source:view-source:https://www.dmzj.com/view/yaoshenji/41917.htmlBUT使......
  • 爬虫之xpath插件下载与安装
    目录简介:下载xpath文件打开chrome浏览器点击右上角小圆点更多工具、阔展程序拖拽xpath插件放到阔展程序如果失效,再次拖拽关闭浏览器重新打开按ctrl+shift+x出现......