Python 爬虫

@[TOC](目录) # 爬虫 使用不同的包分类抓取 ## 抓取页面数据,需要登录验证 抓取美团数据为例: 1.安装 pip install requests 针对post,get等接口需要采用此方法进行抓取 ```mermaid import requests import json import csv # 访问url base_url = 'https://apimobile.meituan.com/group/v4/poi/pcsearch/73' # 请求参数 parameters = { 'uuid': 'cfc68d7bb1****75319405.1.0.0', 'userid': '19***41', 'limit': 32, 'offset': 0, 'cateId': -1, 'q': '酒店', 'token': 'AgE0I2b-I9EwnkcjnEJ9QamP-tFMTTemeRmBgGmgunjipXsqW1UhLLRLEPlcA33GzVqDnfOX2a8qhAAAAAB1FgAAQjK433U7eYjaNEFMpjnKzBT5gpIS6Vf_TPRtruumH7i8Ml_DEkGBgjymsKFn4X5K', 'areaId': 166 } # 请求头 headers = { 'Referer': 'https://zz.meituan.com/', #防盗链 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36' #浏览器、浏览器内核和操作系统的版本型号信息 } response = requests.get(base_url,params=parameters,headers=headers) # 根据请求返回体查询需要的数据模块 searchData = response.json()['data']['searchResult'] # 导出csv f = open('hotel.csv',mode='a',encoding='utf-8',newline='') #写入表头数据 csv_writer = csv.DictWriter(f,fieldnames=[ '酒店名称', '酒店图片', '评分', '评论数', '酒店类型', '区域', '经度', '纬度', ]) csv_writer.writeheader() # 循环数据导入csv for index in searchData: dit = { '酒店名称': index['title'], '酒店图片': index['imageUrl'], '评分': index['avgscore'], '评论数': index['comments'], '酒店类型': index['backCateName'], '区域': index['areaname'], '经度': index['longitude'], '纬度': index['latitude'], } csv_writer.writerow(dit) ```