日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python爬取链家北京租房信息!北京租房都租不起啊!

發布時間:2024/3/12 python 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python爬取链家北京租房信息!北京租房都租不起啊! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

一、效果圖

二、代碼

import re from fake_useragent import UserAgent from lxml import etree import asyncio import aiohttp import pandas as pd# 定義一個類 定義使用的變量 定義get方法通過連接池進行網絡請求 class LianjiaSpider(object):def __init__(self):self.ua = UserAgent() # 獲取userAgent類self.head = {"User-Agent": self.ua.random}self._data = list() # 初始化listasync def get_page_count(self):result = await self.get("https://bj.lianjia.com/zufang/pg1")page_html = etree.HTML(result) # 解析網頁pageCount = page_html.xpath(".//div[@class='content__pg']/@data-totalpage")pageCount = list(map(int, pageCount))return pageCount[0]async def get(self, url): # 異步方法 當方法執行掛起線程執行完畢返回當前執行async with aiohttp.ClientSession() as session: # 線程連接池try:async with session.get(url, headers=self.head, timeout=3) as resp:if resp.status == 200:result = await resp.text()return resultexcept Exception as e:print(e.args)async def parse_html(self):count = await self.get_page_count()for page in range(1, count):url = "https://bj.lianjia.com/zufang/pg{}/".format(page)print("正在爬取{}".format(url))html = await self.get(url) # 獲取網頁內容html = etree.HTML(html) # 解析網頁await self.parse_page(html) # 匹配我們想要的數據print("正在存儲數據....")print(len(self._data))######################### 數據寫入data = pd.DataFrame(self._data)data.to_csv("鏈家網租房數據.csv", encoding='utf_8_sig') # 寫入文件######################### 數據寫入def run(self):loop = asyncio.get_event_loop() # 獲取到循環tasks = [asyncio.ensure_future(self.parse_html())] # 創建任務loop.run_until_complete(asyncio.wait(tasks))async def parse_page(self, html):rst = html.xpath(".//div[@class='content__list--item']") # //代表在任意路徑下查找節點為div,class為的所有元素print(rst) # ==> [<Element li at 0x133d9e0>, <Element li at 0x133d9b8>, <Element li at 0x133d990>] 找for div in rst:imgurl = div.xpath(".//a[@class='content__list--item--aside']/img/@src")title = div.xpath(".//a[@class='content__list--item--aside']/img/@alt")floor = div.xpath(".//span[@class='hide']/text()")price = div.xpath(".//span[@class='content__list--item-price']/em/text()")type = div.xpath(".//p[@class='content__list--item--des']/text()")if len(floor) > 0: # 有的沒有寫樓層會報錯加一層判斷currentFloor = floor[1].replace("\n", "").replace(" ", "")else:currentFloor = ''strinfo = [] #用于存儲多少平方米 朝向 幾室幾廳strinfo.clear()for str in type:info = str.replace(" ", "").replace("\n", "").replace("-", "")if info != '':strinfo.append(info)print(info)size = strinfo[0].replace(" ", "").replace("\n", "") # 30㎡direction = strinfo[1].replace(" ", "").replace("\n", "") # 南structure = strinfo[2].replace(" ", "").replace("\n", "") # 5室1廳2衛structure = re.findall(r'\d+', structure)print(structure)print("imgurl:" + imgurl[0]) # 圖片地址print("title:" + title[0]) # 標題print("price:" + price[0]) # 價錢print("currentFloor:" + currentFloor) # 樓層print(structure) # 分割幾室幾廳幾衛if len(structure) == 3:one_data = {"圖片地址": imgurl[0],"標題": title[0],"價格": price[0],"樓層": currentFloor,"大小": size,"朝向": direction,"室": structure[0],"廳": structure[1],"衛": structure[2]}elif len(structure) == 2:one_data = {"圖片地址": imgurl[0],"標題": title[0],"價格": price[0],"樓層": currentFloor,"大小": size,"朝向": direction,"室": structure[0],"廳": 0,"衛": structure[1]}self._data.append(one_data) # 添加數據if __name__ == '__main__':l = LianjiaSpider()l.run()

三、總結

  • 搜索for循環

  • 替換字符串

  • len長度函數

  • etree 根據class 解析,

  • \d正則表達提取數字

  • fake_useragent 模擬head的使用

  • 協程的使用

  • list中str轉為int map的使用 list(map(int,strList)) list清除的方法 clear

  • if elseif 使用

  • ?

    近期有很多朋友通過私信咨詢有關Python學習問題。為便于交流,點擊藍色自己加入討論解答資源基地

    ?

    總結

    以上是生活随笔為你收集整理的Python爬取链家北京租房信息!北京租房都租不起啊!的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 99re在线精品 | 黄色网页大全 | 免费大片黄在线观看视频网站 | 黑丝一区二区三区 | 亚洲午夜福利一区二区三区 | 欧洲一区二区三区 | 超碰人人91 | 动漫玉足吸乳羞免费网站玉足 | 成人黄色在线网站 | 美女视频免费在线观看 | 99久久精品国产色欲 | 在线免费观看黄色av | 久久久久久久久久久久久久久久久久久久 | 69人妻一区二区三区 | 亚洲第一二三区 | 91理论片午午伦夜理片久久 | 久久99国产综合精品免费 | 精品成人一区二区三区 | av簧片| 成人国产一区二区三区 | 秋霞av网| 精品字幕 | 精品少妇人妻av免费久久洗澡 | 色噜噜狠狠一区二区 | 深夜免费在线视频 | 毛片视屏 | 欧美a级成人淫片免费看 | 91免费精品 | 成人免费视频观看视频 | 国产在线视频网 | 精品欧美乱码久久久久久1区2区 | 亚洲一区二区三区视频在线 | 精人妻一区二区三区 | 久久国产热 | 国产成人一区二区三区视频 | 欧美日韩一区二区三区在线播放 | 无码人妻aⅴ一区二区三区玉蒲团 | 五月激情小说 | 国产伦精品一区二区三区视频免费 | 欧美中日韩在线 | 免费啪啪网 | 青青草成人网 | 日本不卡一区二区在线观看 | а√天堂资源在线 | 久久久久人妻一区精品色欧美 | 青青青免费在线 | 91丝袜| 亚洲免费视频一区二区三区 | 污版视频在线观看 | av网站在线免费播放 | 一本加勒比hezyo黑人 | 懂色av一区二区三区蜜臀 | 七月丁香婷婷 | 中文字幕人妻一区二区三区 | 色乱码一区二区三区熟女 | 国产操操操 | 99re在线精品| 亚洲三级a| 香蕉久久精品 | 成人黄色免费网址 | 啪网址| 久久春色| 日批视频免费在线观看 | 西比尔在线观看完整视频高清 | 久久久一区二区三区四区 | zzjizzji亚洲日本少妇 | 天天色天天射综合网 | 六月激情 | 日色网站 | 五月天久久久久久 | 亚洲欧洲成人在线 | 精品久久人人妻人人做人人 | 国产精品视频一二三区 | 色片在线免费观看 | 天天干夜夜爽 | 国产美女免费观看 | 91视频免费看片 | 国产成人a亚洲精v品无码 | 欧美日韩综合一区二区 | av女人的天堂 | 波多野结衣视频播放 | 高h1v| 777欧美| 久久精品国产精品亚洲色婷婷 | 亚洲综合婷婷久久 | 日韩中字在线 | 97超视频| 毛片成人 | www免费网站在线观看 | 波多野吉衣久久 | 日韩av大片 | 九九精品在线视频 | 伊人狠狠| 亚洲午夜精品久久久久久人妖 | 一级做a爱片久久毛片 | 曰本无码人妻丰满熟妇啪啪 | 亚洲在线看片 | 免费在线观看a级片 | 国产精品日本 |