python爬取京东笔记本标题、品牌、价格、评论数
import requests
import re
import json
import time
from bs4 import BeautifulSoup
headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'}#获取一页编号
def get_bianhao(url):res=requests.get(url,headers=headers,timeout=20)res.encoding=res.apparent_encodingsoup=BeautifulSoup(res.text,'html.parser')bianhao=soup.select('#J_goodsList > ul > li > div > div.p-img > a')bianhao1=list(map(lambda x:x['href'],bianhao))bianhaos=[]for bh in bianhao1:bianhao2=re.findall('//item.jd.com/(\d+).html',bh)if bianhao2 != []:bianhaos.append(bianhao2[0])else:passreturn bianhaos
#获取笔记本标题和品牌
total=[]
def get_shangpin(url):res=requests.get(url,headers=headers,timeout=20)res.encoding=res.apparent_encodingsoup=BeautifulSoup(res.text,'html.parser')try:title=soup.select('body > div > div > div.itemInfo-wrap > div.sku-name')title1=title[0].text.strip()pinpai=soup.select('#parameter-brand > li > a')pinpai1=pinpai[0].text.strip()total.append({'标题':title1})total.append({'品牌':pinpai1})return totalexcept:total.append({'标题':'空'})total.append({'品牌':'空'})return total
#获取笔记本价格
def get_jiage(url): rj=requests.get(url,headers=headers,timeout=20)jdj=json.loads(rj.text.lstrip('jQuery2224728([').rstrip(']);\n'))total.append({'价格':jdj['p']}) return total
#获取笔记本评论数
def get_pinglun(url): r=requests.get(url,headers=headers,timeout=20)jd=json.loads(r.text.strip('\''))jd1=jd['CommentsCount']for com in jd1:total.append({'评论':com['CommentCountStr']})return total
#主页链接,商品编号,代入到价格和评论数url
if __name__ == '__main__':for i in range(1,11):URL='https://search.jd.com/search?keyword=%E7%AC%94%E8%AE%B0%E6%9C%AC%E7%94%B5%E8%84%91&enc=utf-8&qrst=1&rt=1&stop=1&vt=2&suggest=1.def.0.V01&wq=%E7%AC%94%E8%AE%B0%E6%9C%AC&page='+str(2 * i - 1) for id in get_bianhao(URL):URLS='https://item.jd.com/'+id+'.html'print(id)get_shangpin(URLS)URLJ='https://p.3.cn/prices/mgets?callback=jQuery2224728&type=1&area=1_72_2799_0&pdtk=&pduid=401650232&pdpin=&pin=null&pdbp=0&skuIds=J_'+id+'%2C'get_jiage(URLJ)URLP='https://club.jd.com/comment/productCommentSummaries.action?referenceIds='+idget_pinglun(URLP)time.sleep(0.5)print(total)
import numpy as np
import pandas as pd
df=pd.DataFrame(total)
#df.to_excel('jingdongbijiben.xls')a=df['品牌'].dropna().values
b=df['价格'].dropna().values
c=df['评论'].dropna().values
d=df['标题'].dropna().values
vv=np.vstack((a,b,c,d)).T
df1=pd.DataFrame(vv,columns=['品牌','价格','评论','标题'])
df1.to_excel('笔记本.xls')
python爬取京东笔记本标题、品牌、价格、评论数相关推荐
- 爬虫入门——用python爬取网易云音乐热门歌手评论数
本文参考Monkey_D_Newdun 的文章 https://blog.csdn.net/Monkey_D_Newdun/article/details/79318629 用爬虫获取网易云音乐热门歌 ...
- Python 爬取京东秒杀商品名称和价格
python 真好玩 # !-*-coding:utf-8-*- # ! 2019/3/6 13:51 # !@Author:Cy 2019 03 # !@File:jdsk.py import os ...
- python爬虫用什么电脑好_【Python】【爬虫】最近想买电脑,用Python爬取京东评论做个参考...
最近想换电脑,又有点不确定买哪一款.所以决定爬取京东上电脑评论,做个参考,并把最终结果绘制成词云图. 一.先来看下三款电脑评价的词云图 1 用Python爬取京东自营ThinkPad T490s的评论 ...
- 【Python爬虫】最近想买电脑,用Python爬取京东评论做个参考
最近想换电脑,又有点不确定买哪一款.所以决定爬取京东上电脑评论,做个参考,并把最终结果绘制成词云图. 一.先来看下三款电脑评价的词云图 1 用Python爬取京东自营ThinkPad ...
- [爬虫-python]爬取京东100页的图书(机器学习)的信息(价格,打折后价格,书名,作者,好评数,差评数,总评数)
Python爬取京东的机器学习类图书的信息 一,配置搜索关键字和页数, 二,查找用到的三个URL的过程 1. 搜索图书的URL 2. 评论总数,差评数,好评数的URL 3. 当前价格与打折前价格URL ...
- Python爬取京东任意商品数据实战总结
利用Python爬取京东任意商品数据 今天给大家展示爬取京东商品数据 首先呢还是要分思路的,我分为以下几个步骤: 第一步:得到搜索指定商的url 第二步:获得搜索商品列表信息 第三步:对得到的商品数据 ...
- Python爬取京东商品评论数据
一.前言 本文将承接笔者的上篇文章Python爬取京东商品数据,使用京东商品唯一id字段"sku"拼接url,得到真实的京东商品评论网址,进而解释数据并保存到文件中,所爬取到的数据 ...
- 如何使用python编程抢京东优惠券 知乎_学好Python爬取京东知乎价值数据
原标题:学好Python爬取京东知乎价值数据 Python爬虫为什么受欢迎 如果你仔细观察,就不难发现,懂爬虫.学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多,另一方面,像 Python这 ...
- Python爬取京东书籍信息(包括书籍评论数、简介等)
Python爬取京东书籍信息(包括书籍评论数.简介等) 一. 工具 二. 准备爬取的数据 三. 内容简述 四. 页面分析 (一) 寻找目录中商品所在标签 (二) 寻找页面中能爬取到的所有数据 (三) ...
最新文章
- 服务器空闲搭建什么网站,空闲的云服务器可以干什么
- svn命令行 批量添加(add)所有新增文件
- 【Android 安装包优化】Android 中使用 7zr 可执行程序 压缩文件
- 操作系统(四)操作系统的运行机制
- 9.Tornado下的一个简易Blog--2013-05-21
- 未来流媒体工作流的核心技术
- xBIM(eXtensible Building Information Modelling)可扩展的建筑信息模型
- Linux-获得命令帮助man
- 亚马逊AI又遭抗议:一个好端端的美国官员,怎么就成罪犯了?
- Effects on PV3D
- java学习资料总结
- 单片机IC卡读取开题报告_基于单片机实现IC卡读卡器
- matlab 数字波束合成,dbf数字波束合成
- 红白机基本原理(一)总述
- Centos 7 安装 TEMPO2
- js 中如何筛选处理符合条件的数据
- 按字寻址和按字节寻址
- 学做智能车--电磁探究篇
- bower报错:EINVALID Name must be lowercase, can contain digits, dots, dashes, @ or spaces
- java 借助modbus协议实现与硬件之间的通讯
热门文章
- 一个realplay直接播放ftp上电影的插件
- NXP MPC574x LinFlexd配置和DMA配置
- php安全新闻早八点-Microdoor-第三季
- 使用DIV+CSS布局设计个人主页 设计个人主页,使用DIV+CSS的方式进行页面布局。
- python爬网易歌单_Python爬取网易云歌单
- Redis5.0+——集群搭建,水平扩容
- 点计算机图标就自动关机了,为什么点计算机的关机图标不能自动关机
- 黑马程序员——OC基础---核心语法(id,构造方法,Category,description,SEL)
- 植物大战僵尸音乐计算机简谱,植物大战僵尸(主题音乐)钢琴谱
- 虚幻引擎5 C++编程学习