Python采集二手车数据信息,看看啥车最得心意

前言

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

环境使用:

  • python 3.8 运行代码

  • pycharm 2022.3.2 辅助敲代码

    • 专业版是付费的 <码可以免费用>

    • 社区版是免费的

模块使用:

内置模块 无需安装

  • csv

第三方模块 需要安装的

  • requests >>> pip install requests

  • parsel >>> pip install parsel

第三方模块安装:

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

(如果你觉得安装速度比较慢, 你可以切换国内镜像源)

完整源码、教程 点击此处跳转文末名片获取 ,我都放在这里了。

采集数据代码

# 导入数据请求模块 <第三方模块, 需要安装 pip install requests>
import requests
# 导入数据解析模块 <第三方模块, 需要安装 pip install parsel>
import parsel
# 导入csv
import csv

open内置函数 --> 创建文件

f = open('data1.csv', mode='w', encoding='utf-8', newline='')

调用csv模块里面字典写入DictWriter f文件对象 fieldnames 字段名 <表头>

csv_writer = csv.DictWriter(f, fieldnames=[
    '标题'
    '年份',
    '里程',
    '城市',
    '价格',
    '标签',
    '保修',
    '详情页',
])
```python
# 写入表头
```python
csv_writer.writeheader()

“”"

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

“”"

for page in range(1, 51):
    try:
        # 请求链接
        url = f'https://****/all/?page={page}'
        # 模拟浏览器 < headers请求头 >
        headers = {
            # 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'
        }

发送请求

通过requests模块里面get请求方法对于url地址发送请求, 并且携带上headers请求头伪装, 最后用自定义变量名接受返回数据

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

“”"

  1. 获取数据, 获取网页源代码 <服务器返回响应数据>

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

“”"

        # 转换数据, 把获取到 html字符串数据 <response.text>, 转成可解析对象
        selector = parsel.Selector(response.text)  # <Selector xpath=None data='<html lang="en">\n<head>\n    <meta cha...'>
        print(selector)
        # 获取所有li标签 --> 获取多个数据, 返回列表
        lis = selector.css('.Content_left .gongge_ul .li')
        # for循环遍历, 把列表里面元素一个一个提取出来
        for li in lis:
            # 标题
            title = li.css('a.title span::text').get()
            # 信息
            info = li.css('.gongge_main p i::text').getall()
            year = info[0].replace('年', '')# 年份
            km = info[1].replace('万公里', '')  # 里程
            city = info[2].strip()  # 城市
            # 价格
            price = li.css('.price .Total::text').get()
            tag = li.css('.car_tag em::text').get().strip()  # 标签
            label = li.css('.tc_label::text').get()  # 是否保修
            href = li.css('a.title::attr(href)').get()  # 详情页
            dit = {
                '标题': title,
                '年份': year,
                '里程': km,
                '城市': city,
                '价格': price,
                '标签': tag,
                '保修': label,
                '详情页': href,
            }
            # 写入数据
            csv_writer.writerow(dit)
            print(title, year, km, city, price, tag, label, href)
    except:
        print('源码、解答、教程+V:pytho8987获取,验证备注“777”')

括展内容

  1. 解析方法: 都要掌握, 那个方便用那个

    re : 直接提取字符串数据

    css : 根据标签属性提取数据内容

    xpath: 根据标签节点提取数据内容

  2. response.text 获取响应的文本数据 <获取网页源代码>

尾语 💝

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

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

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值