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

正则>>自如租房

作者: 郭祺迦 | 来源:发表于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