Pyhton爬取中国蔬菜网

爬虫项目

项目介绍

通过Python代码对 中国蔬菜网的蔬菜数据信息进行爬取,将爬取结果在Pycharm终端进行输出以及存储在csv文件中。

项目准备

本项目要使用到分别是csv、requests、lxml这三个第三方库。
如果没有这些库的朋友,可以通过在终端运行

// 如果要安装其他的库,只需要将下面的lxml替换成相应的库即可
pip install  lxml

当这些所有依赖包都准备好之后,就可以开始写代码了。

项目代码

爬虫代码

url1='http://www.vegnet.com.cn/Price/List_ar500000_p2.html?marketID=361'
title='重庆观音桥市场有限公司'
chazhao='查找'
list=[title,chazhao]
res=requests.get(url1)
yemadata=res.text
html1=etree.HTML(yemadata)
yema=html1.xpath('//div[3]/div[2]/div[2]/div[2]/a/@href')
print(title)
tbale=html1.xpath('//div[3]/div[2]/div[2]/p/b/text()')
print(tbale)
for yemaint in range(10):
  url="http://www.vegnet.com.cn/"+yema[yemaint]
  response=requests.get(url=url)

# #2.获取数据<>
  data=response.text
  html=etree.HTML(data)
  # print("蔬菜网"+str(yemaint+1)+"页数据:")
  for i in range(25):
    text=html.xpath('//div[3]/div[2]/div[2]/div[1]/p' + str([i + 1]) + '/span/text()')
    text.insert(2,list[0])
    text.insert(7,list[1])

存储代码

// 存储代码(将数据存储到csv文件)
dit={
      '日期':text[0],
      '品种':text[1],
      '批发市场':text[2],
      '最低价格':text[3],
      '最高价格':text[4],
      '平均价格':text[5],
      '计量单位':text[6],
      '找产品':text[7],
    }
    print(dit)

    ##将爬取的数据存放到shuju.csv文件之中
    f = open('shuju.csv', mode='a', encoding='utf-8', newline='')
    csvmon = csv.DictWriter(f, fieldnames=[
      '日期',
      '品种',
      '批发市场',
      '最低价格',
      '最高价格',
      '平均价格',
      '计量单位',
      '找产品',
    ])
    csvmon.writerow(dit)

完整代码

import csv
from lxml import etree
import  requests
url1='http://www.vegnet.com.cn/Price/List_ar500000_p2.html?marketID=361'
title='重庆观音桥市场有限公司'
chazhao='查找'
list=[title,chazhao]
res=requests.get(url1)
yemadata=res.text
html1=etree.HTML(yemadata)
yema=html1.xpath('//div[3]/div[2]/div[2]/div[2]/a/@href')
print(title)
tbale=html1.xpath('//div[3]/div[2]/div[2]/p/b/text()')
print(tbale)
for yemaint in range(10):
  url="http://www.vegnet.com.cn/"+yema[yemaint]
  response=requests.get(url=url)

# #2.获取数据<>
  data=response.text
  html=etree.HTML(data)
  # print("蔬菜网"+str(yemaint+1)+"页数据:")
  for i in range(25):
    text=html.xpath('//div[3]/div[2]/div[2]/div[1]/p' + str([i + 1]) + '/span/text()')
    text.insert(2,list[0])
    text.insert(7,list[1])
    # text=str(text).replace(',','').replace('\'','')
    # 字典将获取到的数据进行存储
    dit={
      '日期':text[0],
      '品种':text[1],
      '批发市场':text[2],
      '最低价格':text[3],
      '最高价格':text[4],
      '平均价格':text[5],
      '计量单位':text[6],
      '找产品':text[7],
    }
    print(dit)

    ##将爬取的数据存放到shuju.csv文件之中
    f = open('shuju.csv', mode='a', encoding='utf-8', newline='')
    csvmon = csv.DictWriter(f, fieldnames=[
      '日期',
      '品种',
      '批发市场',
      '最低价格',
      '最高价格',
      '平均价格',
      '计量单位',
      '找产品',
    ])
    csvmon.writerow(dit)
    # with open('me1.csv', mode='w', encoding='utf-8', newline='') as f:
    #     csvmon = csv.DictWriter(f, fieldnames=[
    #     '日期','品种' ,'批发市场' , '最低价格', '最高价格', '平均价格', '计量单位', '找产品' ])
    #     csvmon.writerow(dit)

运行结果

终端结果

在这里插入图片描述

文件结果

在这里插入图片描述
整个项目就到此结束了,有问题的小伙伴欢迎留言!!!

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Python爬取页数据的过程可以分为以下几个步骤: 1. 定义起始URL和爬取页数:在编写爬虫程序时,可以通过设置起始URL和爬取的页数来指定需要爬取页范围。例如,在编写spiders.py文件时,可以设置start_urls列表,其中包含需要爬取页URL,如['https://www.lagou.com/zhaopin/Python/' + str(x) for x in range(1, 22)]。这样可以通过循环爬取指定页数的页。 2. 发起HTTP请求并获取页源代码:利用Python的requests库,可以发起HTTP请求,获取页的源代码。在获取源代码时,可以使用requests库的get()方法,并设置verify参数为False以忽略https的安全警告。获取到的页源代码可以保存为文件或者使用后续的解析工具进行处理。 3. 解析页源代码:如果需要获取页中的特定数据,可以使用解析工具如BeautifulSoup来解析页源代码。通过解析工具,可以提取出需要的数据,如岗位名称、薪资水平、招聘单位、工作地点、工作经验、学历要求等。例如,在items.py文件中,可以使用Scrapy框架提供的字段定义,定义需要保存的数据字段。 4. 数据清洗和分析:在获取到数据后,可以对数据进行清洗和处理。根据具体需求,可以使用Python中的各种数据处理和分析库对数据进行清洗、筛选、聚合等操作。例如,可以使用pandas库进行数据清洗和处理,使用matplotlib或者seaborn库进行数据可视化。 5. 存储数据:最后,可以将数据存储到适当的存储介质中,如MongoDB数据库。可以使用Python的MongoDB库来连接数据库,并将清洗和处理后的数据存储到指定的集合中。 综上所述,通过编写Python爬虫程序,可以从指定的招聘站上爬取数据,并将数据存入MongoDB数据库中,然后进行数据清洗、分析和可视化等操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [pyhton爬取拉勾数据保存到MongoDB](https://blog.csdn.net/xiangminghan/article/details/107331314)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [Pyhton爬取数据的方法总结](https://blog.csdn.net/new_buff_007/article/details/107347026)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ctrl+c程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值