10行代码爬取安居客数据

一个项目,需要维护崂山区的小区建成年代信息。相关部门给的数据并不全,自己去找这些数据也比较麻烦,后来发现安居客有相关的信息,于是想着爬取一下。

关键的代码就下面这几行:

for i in range(1,20):
    bs  = BeautifulSoup(requests.get('https://qd.anjuke.com/community/laoshanqu/p' + str(i) + "/").content, "html.parser")
    info = bs.find_all('div', class_='li-info')
    for i in info:
        name = i.find('div', class_='li-title')
        year = i.find('span', class_='year')
        # if name:
        #     print(name.text)
        if year:
            print(name.text, '-', year.text)

如果直接用上面的代码去跑会被检测到。找了个代理工具proxypool,但是效果比较差,跑了一晚上都没找到一个可用的代理,不知道是网络问题还是什么问题导致的。

于是只能用最笨的办法,直接保存了20页的html数据进行分析:

所以这变成了一个半自动的项目,等有时间在家试试这个代理工具效果吧,可能是公司网络问题导致的。

完整代码:

from bs4 import BeautifulSoup
import time
import random

def get_build_year():
    # https://qd.anjuke.com/community/laoshanqu/p1/
    for i in range(1,20):
        body = ''
        filename = str(i)+ '.html'
        with open(filename) as f:
            body=f.read()
        bs  = BeautifulSoup(body, "html.parser")
        info = bs.find_all('div', class_='li-info')
        for i in info:
            name = i.find('div', class_='li-title')
            year = i.find('span', class_='year')
            # if name:
            #     print(name.text)
            if year:
                print(name.text, '-', year.text)


# 按间距中的绿色按钮以运行脚本。
if __name__ == '__main__':
    print_hi('PyCharm')
    get_build_year()
☆版权☆

* 网站名称:obaby@mars
* 网址:https://oba.by/
* 个性:https://oba.by/
* 本文标题: 《10行代码爬取安居客数据》
* 本文链接:https://www.oba.by/2023/06/12349
* 短链接:https://oba.by/?p=12349
* 转载文章请标明文章来源,原文标题以及原文链接。请遵从 《署名-非商业性使用-相同方式共享 2.5 中国大陆 (CC BY-NC-SA 2.5 CN) 》许可协议。


You may also like

17 comments

  1.  Level 7
    Google Chrome 114 Google Chrome 114 Mac OS X 10.15 Mac OS X 10.15 cn中国–浙江–杭州 电信/数据中心

    安居客:你礼貌吗

  2. Level 2
    Microsoft Edge 114 Microsoft Edge 114 Windows 10 Windows 10 cn中国–陕西–汉中 电信

    我想到了 我之前用java爬壁纸来着,把一个网站爬了快1一个g的照片 哈哈哈哈

    1. 公主 Queen 
      Google Chrome 102 Google Chrome 102 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–青岛 移动

      没有可靠的ip代理池,最后变成了体力活 gamer4

  3. Level 4
    Google Chrome 114 Google Chrome 114 Mac OS X 10.15 Mac OS X 10.15 cn中国–广东–清远 电信

    爬了自用就算了,最骚的是你还分享了,哈哈哈。 dance dance

    1. 公主 Queen 
      Google Chrome 102 Google Chrome 102 Mac OS X 10.15 Mac OS X 10.15 cn中国–山东–济南 移动

      哈哈哈。这个数据嘛,本身量不大,正好可以看下崂山区的房价。表里面少了个字段,就是房价趋势。整体都是下跌的 popcorm

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注