python爬取京东手机参数_python爬虫——分页爬取京东商城商品信息(手机为例)...
1、最近刚开始学习python 写了个爬虫练习,感觉主要是得会用F12查询网站结构代码。还涉及到反爬虫,每个网站都不一样,拿到的解析出的json数据格式也不同。得有些Web知识的基础才行。
https://www.bilibili.com/video/av54287470/ 视频讲解
2、上代码
import urllib.request
import time
# xpath lxml第三方包 将html转化为树形结构
from lxml import etree
# re系统包 正则
import re
"""
爬取数据方式: 1、通过网页源代码(数据绑定在html标签中)
根据目标网址绑定数据的方式决定 2、通过接口获取json(json绑定)
京东商品信息 获取目标url(开发者模式) 获取网页源代码抓取数据
搜索页面、商品子页面{获取搜索页面的所有商品 class="gl-i-wrap",所有商品的子页面【二次爬取】}
发送url获取响应数据 反爬
进行数据处理
"""
# 分页抓取手机商品信息
def jdPhone_spider(url,beginPage,endPage):
for page in range(beginPage,endPage+1):
#京东页码奇数递增处理 反爬
pn = page*2 -1
print("正在抓取第"+str(page)+"页")
fullurl = url+"&page="+str(pn)#构建带页码的url
# 防止被封
time.sleep(2)
#读取页面
load_page(fullurl)
# 读取查询页面
def load_page(url):
#定义请求头
headers = {
"user_agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36"
}
# 给请求添加请求头
request = urllib.request.Request(url,headers=headers)
html = urllib.request.urlopen(request).read()
content = etree.HTML(html) #转化为tree 使用xpth进行匹配(标签匹配 跟正则挺像)
# print(content)
#获取商品的详情页面 div下的@代表属性
content_list = content.xpath('//div[@class="gl-i-wrap"]/div[@class="p-img"]/a/@href')
# print(content_list)
#url统一处理
for i in range(1,31):
# 异常处理,防止页码越界
try:
# ""前加r代表字符串(原始字符串) 正则截取数据 根据:截取
result = re.split(r":",content_list[i-1])[1]
content_list[i-1] = result
except Exception as e:
continue
# print(content_list)
# j是所有的商品详情页面
for j in content_list:
# print(j)
new_url = "http:"+j #拿到完整url 接下来读取子页面信息
load_link_page(new_url,headers)
# 读取商品详情子页面的信息
def load_link_page(url,headers):
request = urllib.request.Request(url, headers=headers)
html = urllib.request.urlopen(request).read()
content = etree.HTML(html) # 转化为tree 使用xpth进行匹配(标签)
#获取手机的品牌
brand = content.xpath('//div[@class="p-parameter"]/ul[@id="parameter-brand"]/li/@title')
print(brand)
if __name__ == '__main__':
beginPage = int(input("请输入起始页:"))
endPage = int(input("请输入结束页:"))
# 目标url 手机变成unicode编码%E6%89%8B%E6%9C%BA
url = "https://search.jd.com/Search?keyword=%E6%89%8B%E6%9C%BA&enc=utf-8"
jdPhone_spider(url,beginPage,endPage)
3、部分结果
python爬取京东手机参数_python爬虫——分页爬取京东商城商品信息(手机为例)...相关推荐
- python爬取网店数据_Python爬虫实现抓取京东店铺信息及下载图片功能示例
本文实例讲述了Python爬虫实现抓取京东店铺信息及下载图片功能.分享给大家供大家参考,具体如下: 这个是抓取信息的 from bs4 import BeautifulSoup import requ ...
- python微信公众号推送_python爬虫_微信公众号推送信息爬取的实例
问题描述 利用搜狗的微信搜索抓取指定公众号的最新一条推送,并保存相应的网页至本地. 注意点 搜狗微信获取的地址为临时链接,具有时效性. 公众号为动态网页(JavaScript渲染),使用request ...
- python爬取多页数据_python爬虫实现爬取同一个网站的多页数据代码实例
本篇文章小编给大家分享一下python爬虫实现爬取同一个网站的多页数据代码实例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 一.爬虫的目的 从网上获 ...
- python爬取链家新房_Python爬虫项目--爬取链家热门城市新房
本次实战是利用爬虫爬取链家的新房(声明: 内容仅用于学习交流, 请勿用作商业用途) 环境 win8, python 3.7, pycharm 正文 1. 目标网站分析 通过分析, 找出相关url, 确 ...
- python爬虫爬取58网站数据_Python爬虫,爬取58租房数据 字体反爬
Python爬虫,爬取58租房数据 这俩天项目主管给了个爬虫任务,要爬取58同城上福州区域的租房房源信息.因为58的前端页面做了base64字体加密所以爬取比较费力,前前后后花了俩天才搞完. 项目演示 ...
- python爬取历史天气查询_Python爬虫实战-爬取历史天气数据
最近项目需要对合肥市历史天气数据进行爬取,分析了几个天气数据网站,最终选择天气后报网站. 将实现过程遇到的问题以及下来,供以后参考. 步骤分析 这里我使用的是Python中的requests库Beau ...
- python爬取腾讯新闻_python爬虫实战――爬取腾讯新闻 !
无论我们通过浏览器打开网站.访问网页,还是通过脚本对URL网址进行访问,本质上都是对HTTP服务器的请求,浏览器上所呈现的.控制台所显示的都是HTTP服务器对我们请求的响应. 以打开腾讯新闻官网为例, ...
- python批量访问网页保存结果_Python爬虫(批量爬取某网站图片)
1.需要用到的库有: Requests re os time 如果没有安装的请自己安装一下,pycharm中打开终端输入命令就可以安装 2.IDE : pycharm 3.python 版本: 3.8 ...
- python爬取小说项目概述_Python爬虫实战——爬取《斗破苍穹》全文小说(基于re模块)...
目标 思路 手动浏览前几章节,观察url网址变化,以下为前4章节网址: 可以看到,第1和第2章节没有明显规律,第2章节以后规律明显,通过数字递加来分页.手动输入http://www.doupoxs.c ...
最新文章
- 【mysql学习笔记整理】
- 网络通信-2(TCP通信、ServerSocket、Socket)
- 前端学习(663):逻辑中断逻辑与
- Android混淆从入门到精通
- ubuntu sun-java-jdk(zhuan)
- java 获取 classpath下的配置文件
- [转载] java调用c++的dll及java.lang.UnsatisfiedLinkError解决方法
- matlab用pathy语言,2018 年度编程语言 -- Python
- 花生壳:域名诊断—客户端离线
- vc2012编译speex (编译通过)
- 2021深圳杯数学建模D题分析
- 张宇基础30讲——第6讲-中值定理
- Linux中Sort命令详解
- 360Tray.exe是什么进程?360Tray.exe程序及常见问题介绍
- KY-RTI分布仿真技术:第二章 系统安装
- 如何用Amira分割DICOM图像
- mybatis 整合spring之mapperLocations配置的问题
- 开机显示Reboot and select proper boot device or insert boot media in selected
- win10 台式机麦克风杂音 去除
- 读《CSS禅意花园》 有感