赞
踩
import parsel
import csv
import time
相关模块可pip安装
import requests
import parsel
import csv
import time
f = open(‘旅游景点.csv’, mode=‘a’, encoding=‘utf-8-sig’, newline=‘’)
csv_writer = csv.DictWriter(f, fieldnames=[‘景区名字’, ‘景区等级’, ‘地区’, ‘地址’, ‘热度’, ‘简介’, ‘价格’, ‘月销’])
csv_writer.writeheader()
for page in range(1, 11):
time.sleep(1)
print(‘正在保存第{}页数据==========’.format(page))
url = ‘https://piao.qunar.com/ticket/list_%E5%BC%A0%E5%AE%B6%E7%95%8C.html?from=mps_search_suggest_c&keyword=%E5%BC%A0%E5%AE%B6%E7%95%8C&page={}’.format(page)
headers = {
‘user-agent’: ‘Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36’
}
response = requests.get(url=url, headers=headers)
selector = parsel.Selector(response.text)
lis = selector.css(‘#search-list .sight_item’)
dit = {}
for li in lis:
title = li.css(‘.sight_item_caption a::attr(title)’).get() # 景区名字
dit[‘景区名字’] = title
level = li.css(‘.sight_item_info .level::text’).get() # 景区等级
dit[‘景区等级’] = level
area = li.css(‘.area a::attr(title)’).get() # 地区
dit[‘地区’] = area
address = li.css(‘.address span::attr(title)’).get() # 地址
dit[‘地址’] = address
string = li.css(‘.product_star_level em::attr(title)’).get() # 热度
star_level = float(string.strip('热度: '))
dit[‘热度’] = star_level
感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:
① 2000多本Python电子书(主流和经典的书籍应该都有了)
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。