C语言爬虫程序采集58商铺出租转让信息

news/2024/7/19 9:50:35 标签: c语言, 爬虫, 开发语言, oracle, 商品, 转租, 爬虫程序

为了找到一个好店铺好位置,往往要花费很大精力和财力过去寻找,就有有某些出租平台但是一个个查找下来也是十分麻烦,所以我利用我们的C语言基础,给大家写个商品转租爬虫程序,让找店铺不在那么费时费力,至少获取信息比自己单个来的更容易。

在这里插入图片描述

import requests
from bs4 import BeautifulSoup
import json
import time

proxy_host = "duoip"
proxy_port = "8000"

def get_html(url, proxy_host, proxy_port):
    提取免费ip  (jshk.com.cn/mb/reg.asp?kefu=xjy&csdn)
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
    proxies = {
        'http': 'http://' + proxy_host + ':' + proxy_port,
        'https': 'https://' + proxy_host + ':' + proxy_port
    }
    try:
        html = requests.get(url, headers=headers, proxies=proxies)
        if html.status_code == 200:
            return html.text
        else:
            return None
    except Exception as e:
        print(e)
        return None

def parse_html(html):
    soup = BeautifulSoup(html, 'html.parser')
    title = soup.find('div', {'class': 'title'}).text
    content = soup.find('div', {'class': 'content'}).text
    return title, content

def save_to_json(content, file_name):
    with open(file_name, 'w', encoding='utf-8') as f:
        json.dump(content, f, ensure_ascii=False, indent=4)

def main():
    url = "https://bj.zufang.com/ershoufang/"
    html = get_html(url, proxy_host, proxy_port)
    if html:
        title, content = parse_html(html)
        save_to_json({"title": title, "content": content}, "data.json")
        print(f"爬取成功:{title}")
        time.sleep(10) # 等待10秒再进行下一次爬取,防止被封IP

if __name__ == '__main__':
    main()

上述代码是一个简单的爬虫程序,用于爬取58商铺出租转让信息。程序的运行步骤如下:

1、首先,我们需要导入requests库用于发送HTTP请求,BeautifulSoup库用于解析HTML页面,json库用于保存数据,以及time库用于等待一段时间。

2、然后,我们定义了一个函数get_html,用于发送HTTP请求并获取HTML页面。在这个函数中,我们首先定义了请求头和代理信息。然后,我们使用requests.get方法发送GET请求,如果请求成功,我们就返回获取到的HTML页面,否则返回None。

3、接着,我们定义了一个函数parse_html,用于解析HTML页面并提取我们需要的数据。在这个函数中,我们首先使用BeautifulSoup库解析HTML页面,然后使用find方法找到我们需要的元素,并使用text属性获取元素的文本内容。

4、然后,我们定义了一个函数save_to_json,用于保存数据。在这个函数中,我们首先打开一个文件,然后使用json.dump方法将数据保存到文件中。

5、最后,我们在main函数中定义了要爬取的URL,然后调用get_html函数获取HTML页面,如果获取成功,我们就调用parse_html函数解析HTML页面并提取数据,然后调用save_to_json函数保存数据,最后打印出爬取成功的信息,并等待10秒再进行下一次爬取。

注意:在实际运行该程序时,需要确保代理信息是有效的,否则可能无法正常爬取网页。同时,需要确保爬取的网页内容不违反相关法律法规,否则可能会引发法律问题。

其实开店最麻烦的就是店铺产品类别,店铺选址,人流量,以及产品口碑这几个方面,想必在开店前已经深思熟虑过了,所以最重要的还是店铺选址的问题,上面我通过详细的代码示例写的一个爬虫教程,让后期店铺选址效率更高。如果大家有任何问题可以留言一起讨论。


http://www.niftyadmin.cn/n/5313000.html

相关文章

深入了解鸿鹄电子招投标系统:Java版企业电子招标采购系统的核心功能

随着市场竞争的加剧和企业规模的扩大,招采管理逐渐成为企业核心竞争力的重要组成部分。为了提高招采工作的效率和质量,我们提出了一种基于电子化平台的解决方案。该方案旨在通过电子化招投标,使得招标采购的质量更高、速度更快,同…

世微AP2400 DC-DC降压恒流IC12-80V 9V/3A LED电动摩托车灯驱动芯片方案

1,做一款三功能LED车灯驱动方案 AP2400 是一款 PWM 工作模式,率、外围简单、外驱功率管,适用于 输入的降压 LED 恒流驱动芯片。外驱 MOS,大输出电流可达 6A。AP2400 可实现三段功能切换,通过 MODE1/2/3 切换三种功能模式&#xff…

ubuntu升级22.04

要将Ubuntu系统从当前版本(如18.04)升级到22.04,可以按照以下步骤进行操作: 首先确保已经安装了最新的软件包更新。打开终端并运行以下命令来更新现有的软件包列表: sudo apt update 然后使用以下命令来升级所有已安装…

Python+Flask+MySQL的图书馆管理系统【附源码,运行简单】

PythonFlaskMySQL的图书馆管理系统【附源码,运行简单】 总览 1、《图书馆管理系统》1.1 方案设计说明书设计目标需求分析工具列表 2、详细设计2.1 登录2.2 注册2.3 程序主页面2.4 图书新增界面2.5 图书信息修改界面2.6 普通用户界面2.7 其他功能贴图 3、下载 总览 …

九、分布式锁 —— 超详细操作演示!!!

九、分布式锁 —— 超详细操作演示! 九、分布式锁9.1 分布式锁的工作原理9.2 问题引入9.2.1 场景9.2.2 实现9.2.3 分析 9.3 setnx 实现方式9.3.1 原理9.3.2 实现9.3.3 问题 9.4 为锁添加过期时间9.4.1 原理9.4.2 实现9.4.3 问题 9.5 为锁添加标识9.5.1 原理9.5.2 实…

一篇文章足以让你掌握蓝牙协议栈基本架构(蓝牙核心文档、HCI架构解读等)

目录 1. 蓝牙核心文档介绍 1.1 架构 1.2 BR/EDR 控制器 1.3 主机 1.4 主机控制器接口

AcWing 103. 电影(map、pair连用or离散化)

题目 方法一(mappair) 其实上面这么长巴拉巴拉就是在说 首先,每个科学家会的语言都不同。但是呢每部电影的字幕和语言是不一样的(字幕和语言一定不相同) 要求找到一部电影使得在场能听懂的科学家最多(如果存…

大模型笔记【2】 LLM in Flash

Apple最近发表了一篇文章,可以在iphone, MAC 上运行大模型:【LLM in a flash: Efficient Large Language Model Inference with Limited Memory】。 主要解决的问题是在DRAM中无法存放完整的模型和计算,但是Flash Memory可以存放完整的模型。…