博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
猫途鹰简单爬虫正则巩固
阅读量:4703 次
发布时间:2019-06-10

本文共 1492 字,大约阅读时间需要 4 分钟。

import jsonimport refrom itertools import chainimport requestsfrom requests import RequestExceptiondef 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('
(.*?).*?cityName.*?>(.*?)' '.*?stb blockIcon">(.*?)(.*?)' '.*?hotelsCount.*?html">(.*?).*?attractionCount.*?html">(.*?)' '.*?eateryCount.*?html">(.*?)', 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_listdef 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()

 

转载于:https://www.cnblogs.com/liangliangzz/p/10257315.html

你可能感兴趣的文章
windows live writer 2012 0x80070643
查看>>
tomcat 和MySQL的安装
查看>>
git常用操作
查看>>
京东SSO单点登陆实现分析
查看>>
u-boot启动第一阶段
查看>>
MySQL批量SQL插入性能优化
查看>>
定义列属性:null,default,PK,auto_increment
查看>>
用户画像展示
查看>>
C#中StreamReader读取中文出现乱码
查看>>
使用BufferedReader的时候出现的问题
查看>>
批处理文件中的路径问题
查看>>
hibernate出现No row with the given identifier exists问题
查看>>
为什么wait()和notify()属于Object类
查看>>
配置NRPE的通讯
查看>>
匹配两个空格之间的字符。。。
查看>>
CSS 文字溢出 变成省略号 ...
查看>>
Spring事务
查看>>
java编程基础(三)流程控制语句
查看>>
让数据库跑的更快的7个MySQL优化建议
查看>>
jquery 取id模糊查询
查看>>