前言

大家早好、午好、晚好吖 ❤ ~欢迎光临本文章

环境使用:

  • Python 3.8

  • Pycharm

模块使用:

  • requests >>> pip install requests

  • re

  • csv

安装模块:win + R 输入cmd 输入安装命令 pip install 模块名

如果出现爆红 可能是因为 网络连接超时 切换国内镜像源

基本思路:

  1. 明确需求:

    采集网站以及数据是什么” />代码怎么实现?

    1. 发送请求, 模拟浏览器对url地址发送请求

    2. 获取数据, 获取服务器返回响应数据 –> response

    3. 解析数据, 提取我们想要的数据内容

    4. 保存数据, 保存表格文件

    代码展示

    导入模块

    # 导入数据请求模块 --> 第三方模块, 需要安装 pip install requestsimport requests# 导入格式化输出模块from pprint import pprint# 导入csv模块import csv

    创建文件

    f = open('烤肉.csv', mode='a', encoding='utf-8', newline='')csv_writer = csv.DictWriter(f, fieldnames=['店名','评分','评论','店铺类型','商圈','人均','最低消费','经度','纬度','详情页',])csv_writer.writeheader()

    “””
    1. 发送请求

    模拟浏览器对url地址发送请求

    403 状态码 没有访问权限 一定要加防盗链

    模拟浏览器 为了防止被反爬

    cookies host referer UA

    “””
    请求链接

    url = 'https://*****/group/v4/poi/pcsearch/70?uuid=1191c166b23545adaef7.1679637144.1.0.0&userid=266252179&limit=32&offset=32&cateId=-1&q=%E7%83%A4%E8%82%89&token=AgEcI8MGJ-mKhr9oT4VY_zjPV_oFYDXfbo9sEAaWhz5Ud0ZxeKhBNbm--AOvOEMZfMX1X8atA5u22QAAAABsFwAA631DsS1KNwy05foi_83hOjAmFHyzNkrbtWhFRpR9MOAObuDNmNMpKOe8SdRaRJ_n'

    伪装模拟 –> 请求头

    headers = {# Referer 防盗链, 告诉服务器请求链接, 是从哪里跳转过来'Referer': 'https://*****/',# User-Agent 用户代理 表示浏览器基本身份信息'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'}

    发送请求

    response = requests.get(url=url, headers=headers)# print(response)

    “””

    2. 获取数据

    获取服务器返回响应数据 –> response

    response.json() 获取响应json字典数据

    3. 解析数据

    提取我们想要的数据内容

    字典取值 get

    键值对取值 –> 根据冒号左边的内容[键], 提取冒号右边的内容[值]

    Json字典数据, 一层一层提取

    print(index) –> json数据, 呈现一行

    pprint(index) –> json数据, 呈现多行 展开效果

    “””

    for循环遍历, 把列表里面元素一个一个提取出来

    for index in response.json()['data']['searchResult']:

    详情页链接:

    link = f'https://*****/meishi/{index["id"]}/'

    创建字典 –> 方便后续保存数据

    dit = {'店名': index['title'],'评分': index['avgscore'],'评论': index['comments'],'店铺类型': index['backCateName'],'商圈': index['areaname'],'人均': index['avgprice'],'最低消费': index['lowestprice'],'经度': index['longitude'],'纬度': index['latitude'],'详情页': link,}csv_writer.writerow(dit)print(dit)

    尾语

    好了,今天的分享就差不多到这里了!

    完整代码、更多资源、疑惑解答直接点击下方名片自取即可。

    对下一篇大家想看什么,可在评论区留言哦!看到我会更新哒(ง •_•)ง

    喜欢就关注一下博主,或点赞收藏评论一下我的文章叭!!!

    最后,宣传一下呀~更多源码、资料、素材、解答、交流皆点击下方名片获取呀