分享

自如租房

 郭祺迦 2018-09-24
import urllib.request

import urllib.parse

import re


def main():
    start_page = int(input("输入查询的开始页:"))

    end_page = int(input("输入查询的结束页:"))

    url = 'http://www./z/nl/z2-r1.html?'

    # 循环生成页面
    for page in range(start_page, end_page + 1):
        # 生成请求对象
        request = get_request(url, page)

        # 通过请求对象获取响应的数据
        get_response(request)


# 获取请求的对象
def get_request(url, page):
    # 以字典的形式存储数据
    data = {
        'p': page
    }

    # 对get请求的数据
    data = urllib.parse.urlencode(data)

    # 拼接url
    url += data

    # 获取请求对象

    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'
    }

    request = urllib.request.Request(url=url, headers=headers)

    return request


def get_response(request):
    # 通过请求对象获取响应的数据

    response = urllib.request.urlopen(request)

    html = response.read().decode("utf8")
    # print(html)
    # 通过正则表达求出数据
    pattern = re.compile(r'<div class="txt">.*?<a .*? class="t1">(.*?)</a>.*?<a .*? href="(.*?)">(.*?)</a>.*?</div>',re.S)

    # 获取所有的信息,返回的是一个列表,列表里面套着元组
    result = pattern.findall(html)

    print(result)


if __name__ == '__main__':
    main()

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约