Python爬取商家联系电话以及各种数据

本文介绍了一个简单的Python爬虫项目,用于从114黄页网站上抓取商家的联系信息,并将其保存到CSV文件中。该项目使用requests进行网页请求,BeautifulSoup解析HTML,csv模块来写入数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上次学会了爬取图片,这次就想着试试爬取商家的联系电话,当然,这里纯属个人技术学习,爬取过后及时删除,不得用于其它违法用途,一切后果自负。

首先我学习时用的是114黄页数据。 
下面四个是用到的模块,前面2个需要安装一下,后面2个是python自带的。

import requests
from bs4 import BeautifulSoup
import csv
import time

然后,写个函数获取到页面种想要的数据,记得最后的return返回一下,因为下面的函数要到把数据写到csv里面。

def get_content(url,data=None):
    header = {
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
        'Accept-Encoding': 'gzip, deflate',
        'Accept-Language': 'zh-CN,zh;q=0.8',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.104 Safari/537.36',
    }
    r = requests.get(url, headers=header)
    soup = BeautifulSoup(r.content, 'html.parser')
    data = soup.body.find('div',{'id':'news_con'})
    ul = data.find('ul')
    lis = ul.find_all('li')
    pthons=[]

    for item in lis:
        rows=[]
        name= item.find('h4').string
        rows.append(name)
        tel = item.find_all("div")[2].string
        rows.append(tel)
        pthons.append(rows)
        time.sleep(1)
    return pthons

接着:把数据写到表格里面。我这里用到的是csv,方便阅览。

def write_data(data,name):
    file_name=name
    with open(file_name, "w", newline='') as csvfile:
        writer = csv.writer(www.dejiaylsmile.cn  csvfile)
        writer.writerow(["商铺名称", "联系电话"])
        writer.writerows(data)
        print('抓取完成'

最后就是执行这些函数:

if __name__ == '__main__':
    url = 'http://ty.114chn.com/CustomerInfo/Customers? www.yingka178.com cid=008004008&page=2'
    mydata = get_content(www.078881.cn url)
    write_data(mydata,'phone.csv'www.dfzx157.com)
  • 1
  • 2
  • 3
  • 4

在这里我想到应该把url写成动态的,因为这里面有页数。让page写成循环自动+1,当然,可以在网页看到一共多少页。写个循环执行。就更完美了。

这里写图片描述

版权声明:本文为博主原创文章,未经博主允许不得转载。
Python爬虫可以用来抓取网络上公开的数据,包括一些商家的营业额信息。通常这类数据会出现在网站的数据库查询结果、报表页面或者是新闻报道等地方。以下是一个简单的步骤来说明如何使用Python爬取商家营业额: 1. **确定目标网站**:首先,你需要找到提供所需数据的网站,这个网站需要有公开的API,或者结构化数据可以直接提取。 2. **分析网页结构**:使用`BeautifulSoup`, `Scrapy` 或者 `requests`库来解析HTML或JSON格式的数据。查看网站的源代码,找出包含营业额信息的部分,如特定CSS类名或XPath表达式。 3. **编写爬虫代码**: ```python import requests from bs4 import BeautifulSoup url = "http://example.com/merchant_data" # 替换为实际网址 response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') # 使用soup.find()或soup.select()找到数据元素 business_revenue = soup.find('span', class_='business-revenue') or soup.select_one('.business-revenue') if business_revenue: revenue_text = business_revenue.text.strip() print(f"商家营业额: {revenue_text}") else: print("未找到营业额信息") ``` 4. **处理异常和频率控制**:记得设置合适的请求间隔(使用`time.sleep()`),遵守网站的robots.txt规则,并处理可能出现的HTTP错误或网站反爬策略。 5. **保存和分析数据**:如果数据量大,可以考虑将数据存入文件或数据库,以便后续分析。 需要注意的是,爬取数据需尊重版权和隐私政策,不要用于非法用途。同时,有些数据可能是受保护的,直接爬取可能会违反法律。在进行此类操作之前,请务必确保获取权限或明确的数据来源。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值