码迷,mamicode.com
首页 > 其他好文 > 详细

猫途鹰简单爬虫正则巩固

时间:2019-01-11 21:17:36      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:==   count   rac   http   html   res   存在   方式   简单   

技术分享图片

import json
import re
from itertools import chain

import requests
from requests import RequestException

def get_page_index(url):
    try:
        response=requests.get(url)
        # print(response.text)
        if response.status_code==200:
            return response.text
        return None
    except RequestException:
        print(‘请求页不存在‘)
        return None
        # with open(‘猫途鹰.html‘,‘w+‘)as f:
        #     f.write(response.text)

def parse_one_page(html):
    # pattern=re.compile(‘<span\sclass="thumbCrop"><img\ssrc="(.*?)"‘)
    pattern_img=re.compile(‘<span.*?"thumbCrop".*?src="(.*?)"‘,re.S)
    imgs=re.findall(pattern_img,html)
    pattern_url = re.compile(‘<a.*?countryName.*?>(.*?)</a>.*?cityName.*?>(.*?)‘
                             ‘</a>.*?stb blockIcon">(.*?)</span.*?cityGuide blockIcon">(.*?)‘
                             ‘</span>.*?hotelsCount.*?html">(.*?)</a>.*?attractionCount.*?html">(.*?)‘
                             ‘</a>.*?eateryCount.*?html">(.*?)</a>‘, re.S)
    a_url = re.findall(pattern_url, html)
    items =list(chain.from_iterable(zip(imgs,a_url)))
    items_list=[]
    for i in items:
        # print(i)
        items_list.append(i)
    return items_list
def write_to_file(content):
    ‘‘‘
    写入文本
    :param content:
    :return:
    ‘‘‘
    with open(‘猫途鹰.txt‘, ‘a‘,encoding=‘utf-8‘)as f:#打开文件,如果没有就创建,encoding 指定编码方式
        f.write(json.dumps(content,ensure_ascii=False)+‘\n‘)#ensure_ascii=False以指定的方式编码
def main():
    url=‘https://www.tripadvisor.cn/‘
    html=get_page_index(url)
    # parse_one_page(html)
    # print(html)
    for item in parse_one_page(html):
        print(item)
        write_to_file(item)

if __name__ == ‘__main__‘:
    main()

技术分享图片

 

猫途鹰简单爬虫正则巩固

标签:==   count   rac   http   html   res   存在   方式   简单   

原文地址:https://www.cnblogs.com/liangliangzz/p/10257315.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!