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爬取京东笔记本标题、品牌、价格、评论数相关推荐

  1. 爬虫入门——用python爬取网易云音乐热门歌手评论数

    本文参考Monkey_D_Newdun 的文章 https://blog.csdn.net/Monkey_D_Newdun/article/details/79318629 用爬虫获取网易云音乐热门歌 ...

  2. Python 爬取京东秒杀商品名称和价格

    python 真好玩 # !-*-coding:utf-8-*- # ! 2019/3/6 13:51 # !@Author:Cy 2019 03 # !@File:jdsk.py import os ...

  3. python爬虫用什么电脑好_【Python】【爬虫】最近想买电脑,用Python爬取京东评论做个参考...

    最近想换电脑,又有点不确定买哪一款.所以决定爬取京东上电脑评论,做个参考,并把最终结果绘制成词云图. 一.先来看下三款电脑评价的词云图 1 用Python爬取京东自营ThinkPad T490s的评论 ...

  4. 【Python爬虫】最近想买电脑,用Python爬取京东评论做个参考

      最近想换电脑,又有点不确定买哪一款.所以决定爬取京东上电脑评论,做个参考,并把最终结果绘制成词云图.    一.先来看下三款电脑评价的词云图    1 用Python爬取京东自营ThinkPad ...

  5. [爬虫-python]爬取京东100页的图书(机器学习)的信息(价格,打折后价格,书名,作者,好评数,差评数,总评数)

    Python爬取京东的机器学习类图书的信息 一,配置搜索关键字和页数, 二,查找用到的三个URL的过程 1. 搜索图书的URL 2. 评论总数,差评数,好评数的URL 3. 当前价格与打折前价格URL ...

  6. Python爬取京东任意商品数据实战总结

    利用Python爬取京东任意商品数据 今天给大家展示爬取京东商品数据 首先呢还是要分思路的,我分为以下几个步骤: 第一步:得到搜索指定商的url 第二步:获得搜索商品列表信息 第三步:对得到的商品数据 ...

  7. Python爬取京东商品评论数据

    一.前言 本文将承接笔者的上篇文章Python爬取京东商品数据,使用京东商品唯一id字段"sku"拼接url,得到真实的京东商品评论网址,进而解释数据并保存到文件中,所爬取到的数据 ...

  8. 如何使用python编程抢京东优惠券 知乎_学好Python爬取京东知乎价值数据

    原标题:学好Python爬取京东知乎价值数据 Python爬虫为什么受欢迎 如果你仔细观察,就不难发现,懂爬虫.学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多,另一方面,像 Python这 ...

  9. Python爬取京东书籍信息(包括书籍评论数、简介等)

    Python爬取京东书籍信息(包括书籍评论数.简介等) 一. 工具 二. 准备爬取的数据 三. 内容简述 四. 页面分析 (一) 寻找目录中商品所在标签 (二) 寻找页面中能爬取到的所有数据 (三) ...

最新文章

  1. 服务器空闲搭建什么网站,空闲的云服务器可以干什么
  2. svn命令行 批量添加(add)所有新增文件
  3. 【Android 安装包优化】Android 中使用 7zr 可执行程序 压缩文件
  4. 操作系统(四)操作系统的运行机制
  5. 9.Tornado下的一个简易Blog--2013-05-21
  6. 未来流媒体工作流的核心技术
  7. xBIM(eXtensible Building Information Modelling)可扩展的建筑信息模型
  8. Linux-获得命令帮助man
  9. 亚马逊AI又遭抗议:一个好端端的美国官员,怎么就成罪犯了?
  10. Effects on PV3D
  11. java学习资料总结
  12. 单片机IC卡读取开题报告_基于单片机实现IC卡读卡器
  13. matlab 数字波束合成,dbf数字波束合成
  14. 红白机基本原理(一)总述
  15. Centos 7 安装 TEMPO2
  16. js 中如何筛选处理符合条件的数据
  17. 按字寻址和按字节寻址
  18. 学做智能车--电磁探究篇
  19. bower报错:EINVALID Name must be lowercase, can contain digits, dots, dashes, @ or spaces
  20. java 借助modbus协议实现与硬件之间的通讯

热门文章

  1. 一个realplay直接播放ftp上电影的插件
  2. NXP MPC574x LinFlexd配置和DMA配置
  3. php安全新闻早八点-Microdoor-第三季
  4. 使用DIV+CSS布局设计个人主页 设计个人主页,使用DIV+CSS的方式进行页面布局。
  5. python爬网易歌单_Python爬取网易云歌单
  6. Redis5.0+——集群搭建,水平扩容
  7. 点计算机图标就自动关机了,为什么点计算机的关机图标不能自动关机
  8. 黑马程序员——OC基础---核心语法(id,构造方法,Category,description,SEL)
  9. 植物大战僵尸音乐计算机简谱,植物大战僵尸(主题音乐)钢琴谱
  10. 虚幻引擎5 C++编程学习