python+requests爬取汽车之家二手车
python+requests爬取汽车之家贵阳二手车信息
目录
- 分析网页
1.1. 打开网页,获取请求路径
1.2. 找到自己需要的信息 - 提取数据
2.1 定位元素,找到数据
2.2 处理数据,将数据封装成数组
2.3 保存到excel表格中 - 源码展示
3.1 源码及优化
1.分析网页
1 打开网页,获取请求路径
于是请求路径为:
import requests
from bs4 import BeautifulSouphtml = requests.get('https://www.che168.com/nlist/guiyang/list/?pvareaid=100533')
print(html.text)
2 找到自己需要的信息
在页面上:右键->检查 或者 直接按f12
点击图片上红框的按钮,定位自己需要的信息
找到对应信息,去页面查询是否是异步加载
在打印的代码中我们找到了我们要的信息
到这里就可以笑了,因为这不是异步加载,我们可以直接拿数据了
2.提取数据
- 定位元素,找到数据
将元素定位到上面我们找到的a标签下carinfo
代码:
from bs4 import BeautifulSoup
soup = BeautifulSoup(html.text, 'html.parser')
lists = soup.select('a.carinfo')
for data in lists:print(data.text)
结果如下
- 处理数据,将数据封装成数组
lists = soup.select('a.carinfo')
result = []
arr = []
arr2 = []
for data in lists:name = data.select_one('h4').textcar = data.select_one('p').textprice = data.select_one('span').textvalue = data.select_one('s').textstring = name + ',' + car + ',' + price + ',' + valuearr = string.split(',')print(arr)result.append(arr)
print(result)
运行代码查看结果:
3. 保存到excel表格中
代码:
from openpyxl import Workbook
import xlsxwriterwb = xlsxwriter.Workbook('汽车之家二手车.xlsx', {'constant_memory': True})
ws = wb.add_worksheet('二手车信息')
head = ['车辆型号', '关于', '现价', '原价', '链接']
ws.write_row(0, 0, head)
m = 1
for val in result:for j in range(len(val)):ws.write_row(m, 0, val)m = m + 1
wb.close()
运行结果:
3.源码展示
源码及优化:
import requests
import xlwt
from bs4 import BeautifulSoup
from time import sleep
from openpyxl import Workbook
import xlsxwriter, time
import numpy as np
import pandas as pddef getHtml(url, m):start_time = time.time()html = requests.get(url)# print(html.text)wb = xlsxwriter.Workbook('汽车之家.xlsx', {'constant_memory': True})ws = wb.add_worksheet('二手车信息')head = ['车辆型号', '关于', '现价', '原价', '链接']ws.write_row(0, 0, head)page = int(input('请输入爬取的页数:'))p = 1for i in range(page+1):soup = BeautifulSoup(html.text, 'html.parser')lists = soup.select('a.carinfo')if i < page:print('共%s页,正在爬取第%s页......' % (page, p))result = []arr = []arr2 = []urls = 'https://www.che168.com/'k = 1for data in lists:if k <= len(lists):link = urls + data.get('href')print('共%s条,正在爬取第%s条......url:%s' % (len(lists), k, link))arr2.append(link)str = dataname = str.select_one('h4').textcar = str.select_one('p').textprice = str.select_one('span').textvalue = str.select_one('s').textstring = name+','+car+','+price+','+valuearr = string.split(',')arr.extend(arr2)arr2 = []result.append(arr)k = k + 1else:breakprint(result)# 写入表格for val in result:for j in range(len(val)):ws.write_row(m, 0, val)m = m + 1# print(m)# result.clear()next = soup.select_one('a.page-item-next').get('href')next_page = urls + nexthtml = requests.get(next_page)sleep(2)p = p + 1wb.close()end_time = time.time()print('本次爬取共耗时%s秒'%(end_time-start_time))if __name__=="__main__":m = 1url = 'https://www.che168.com/nlist/guiyang/list/?pvareaid=100533'getHtml(url, m)
python+requests爬取汽车之家二手车相关推荐
- python爬取汽车之家图片,Python requests 爬取汽车之家全部品牌logo,urllib下载到本地...
首先是汽车之家品牌页面的HTML 我们定位到图片那个位置,这个img标签的src加上https就是图片完整的地址 那么品牌名称就是下面那个p标签的text 接下来我们的目的就是从中取出src和text ...
- Python requests 爬取汽车之家全部品牌logo,urllib下载到本地
首先是汽车之家品牌页面的HTML 我们定位到图片那个位置,这个img标签的src加上https就是图片完整的地址 那么品牌名称就是下面那个p标签的text 接下来我们的目的就是从中取出src和text ...
- Python爬虫——使用 lxml 解析器爬取汽车之家二手车信息
本次爬虫的目标是汽车之家的二手车销售信息,范围是全国,不过很可惜,汽车之家只显示100页信息,每页48条,也就是说最多只能够爬取4800条信息. 由于这次爬虫的主要目的是使用lxml解析器,所以在信息 ...
- 二手车java爬虫技术_Golang爬虫 爬取汽车之家 二手车产品库
目标 最近经常有人在耳边提起汽车之家,也好奇二手车在国内的价格是怎么样的,因此本次的目标站点是 汽车之家 的二手车产品库 分析目标源: 一页共24条 含分页,但这个老产品库,在100页后会存在问题,因 ...
- python+mitmdump爬取汽车之家汽车信息
一,准备工作 (一)安装mitmproxy 1,通过 pip install mitmproxy 安装 2,通过安装包安装 网址:https://github.com/mitmproxy/mitmpr ...
- python爬取汽车之家_python爬虫实战之爬取汽车之家网站上的图片
随着生活水平的提高和快节奏生活的发展.汽车开始慢慢成为人们的必需品,浏览各种汽车网站便成为购买合适.喜欢车辆的前提.例如汽车之家网站中就有最新的报价和图片以及汽车的相关内容,是提供信息最快最全的中国汽 ...
- 爬取汽车之家北京二手车信息
爬取汽车之家北京二手车信息 经测试,该网站:https://www.che168.com/beijing/list/ 反爬机制较低,仅需要伪造请求头设置爬取速率,但是100页之后需要登录,登录之后再爬 ...
- PYTHON爬取汽车之家数据
PYTHON爬取汽车之家数据 使用知识 使用BeautifulSoup模块 使用正则表达式 使用到多线程爬取 使用说明 使用前请安装BeauifulSoup 起始页面: https://www.aut ...
- Python 爬虫实战入门——爬取汽车之家网站促销优惠与经销商信息
在4S店实习,市场部经理让我写一个小程序自动爬取汽车之家网站上自家品牌的促销文章,因为区域经理需要各店上报在网站上每一家经销商文章的露出频率,于是就自己尝试写一个爬虫,正好当入门了. 一.自动爬取并输 ...
- Python爬取汽车之家所有车型数据,以后买车就用这个参考了
欢迎点击右上角关注小编,除了分享技术文章之外还有很多福利,私信学习资料可以领取包括不限于Python实战演练.大航海计划.BAT内推.学习资料等. 前言 2018年马上就要过去了,经过一年的奋斗,我相 ...
最新文章
- Normalization 的发展历程
- 2021年宝鸡中学高考成绩查询,宝鸡各高中2020年高考喜报成绩一览
- boost的multi_index的使用
- assign与weak区别(面试)
- 电脑开机后,就会自动运行chkdsk,我想取消chkdsk,怎么取消
- session.setAttribute和request.setAttribute的区别
- Spring事件的观察者模式
- 【渝粤教育】广东开放大学 综合英语1 形成性考核 (36)
- oracle没用过元数据,案例:Oracle RAC asm备份元数据之md_backup和md_restore 好处与
- 可视化数据展示工具ChatSQL
- 强大的日志分析工具AWStats经典备忘
- android.mk ndk编译选项优化,Android NDK(ARM开发)使用NEON优化 - Fla
- 6.Linux 运行级别
- 最新JS验证手机号码(2021)
- cmake-3.17 cmake-3.18.2下载
- [高效Mac] 多显示器快速切换鼠标焦点和移动窗口
- 测试用例之QA有话说
- 微信公众号实现带图卡片分享链接
- 基于opencv的倾斜文本行的校正
- java EE crm代码_基于jsp的小型企业CRM-JavaEE实现小型企业CRM - java项目源码
热门文章
- 免费开源51单片机个人课程设计--基于stc89c52及红外遥控的测温智能电风扇
- Matplotlib 应用
- python编程一球从100米_Python一个球100米高空落下,每次落下后反弹高度是原高度的一半,再落下...
- 钻井液中PHP是指什么,关于钻井液,你必须知道这些…
- Scratch可以参加的编程比赛大全
- maya2022插件开发工具包及官方教学网址如下
- [工具]实现文件夹和文件名称批量修改
- 数据库表中的数据显示在网页上
- 图片去底色功能怎么用?怎么把图片背景色变成透明的?
- 实验项目三 基于A*搜索算法迷宫游戏开发