美文网首页爬虫
正则>>自如租房

正则>>自如租房

作者: 郭祺迦 | 来源:发表于2018-09-27 12:42 被阅读0次

import urllib.request

import urllib.parse

import re

def main():

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

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

    url = 'http://www.ziroom.com/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()

相关文章

网友评论

    本文标题:正则>>自如租房

    本文链接:https://www.haomeiwen.com/subject/wyleoftx.html