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爬虫——分页爬取京东商城商品信息(手机为例)...相关推荐

  1. python爬取网店数据_Python爬虫实现抓取京东店铺信息及下载图片功能示例

    本文实例讲述了Python爬虫实现抓取京东店铺信息及下载图片功能.分享给大家供大家参考,具体如下: 这个是抓取信息的 from bs4 import BeautifulSoup import requ ...

  2. python微信公众号推送_python爬虫_微信公众号推送信息爬取的实例

    问题描述 利用搜狗的微信搜索抓取指定公众号的最新一条推送,并保存相应的网页至本地. 注意点 搜狗微信获取的地址为临时链接,具有时效性. 公众号为动态网页(JavaScript渲染),使用request ...

  3. python爬取多页数据_python爬虫实现爬取同一个网站的多页数据代码实例

    本篇文章小编给大家分享一下python爬虫实现爬取同一个网站的多页数据代码实例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 一.爬虫的目的 从网上获 ...

  4. python爬取链家新房_Python爬虫项目--爬取链家热门城市新房

    本次实战是利用爬虫爬取链家的新房(声明: 内容仅用于学习交流, 请勿用作商业用途) 环境 win8, python 3.7, pycharm 正文 1. 目标网站分析 通过分析, 找出相关url, 确 ...

  5. python爬虫爬取58网站数据_Python爬虫,爬取58租房数据 字体反爬

    Python爬虫,爬取58租房数据 这俩天项目主管给了个爬虫任务,要爬取58同城上福州区域的租房房源信息.因为58的前端页面做了base64字体加密所以爬取比较费力,前前后后花了俩天才搞完. 项目演示 ...

  6. python爬取历史天气查询_Python爬虫实战-爬取历史天气数据

    最近项目需要对合肥市历史天气数据进行爬取,分析了几个天气数据网站,最终选择天气后报网站. 将实现过程遇到的问题以及下来,供以后参考. 步骤分析 这里我使用的是Python中的requests库Beau ...

  7. python爬取腾讯新闻_python爬虫实战――爬取腾讯新闻 !

    无论我们通过浏览器打开网站.访问网页,还是通过脚本对URL网址进行访问,本质上都是对HTTP服务器的请求,浏览器上所呈现的.控制台所显示的都是HTTP服务器对我们请求的响应. 以打开腾讯新闻官网为例, ...

  8. python批量访问网页保存结果_Python爬虫(批量爬取某网站图片)

    1.需要用到的库有: Requests re os time 如果没有安装的请自己安装一下,pycharm中打开终端输入命令就可以安装 2.IDE : pycharm 3.python 版本: 3.8 ...

  9. python爬取小说项目概述_Python爬虫实战——爬取《斗破苍穹》全文小说(基于re模块)...

    目标 思路 手动浏览前几章节,观察url网址变化,以下为前4章节网址: 可以看到,第1和第2章节没有明显规律,第2章节以后规律明显,通过数字递加来分页.手动输入http://www.doupoxs.c ...

最新文章

  1. 【mysql学习笔记整理】
  2. 网络通信-2(TCP通信、ServerSocket、Socket)
  3. 前端学习(663):逻辑中断逻辑与
  4. Android混淆从入门到精通
  5. ubuntu sun-java-jdk(zhuan)
  6. java 获取 classpath下的配置文件
  7. [转载] java调用c++的dll及java.lang.UnsatisfiedLinkError解决方法
  8. matlab用pathy语言,2018 年度编程语言 -- Python
  9. 花生壳:域名诊断—客户端离线
  10. vc2012编译speex (编译通过)
  11. 2021深圳杯数学建模D题分析
  12. 张宇基础30讲——第6讲-中值定理
  13. Linux中Sort命令详解
  14. 360Tray.exe是什么进程?360Tray.exe程序及常见问题介绍
  15. KY-RTI分布仿真技术:第二章 系统安装
  16. 如何用Amira分割DICOM图像
  17. mybatis 整合spring之mapperLocations配置的问题
  18. 开机显示Reboot and select proper boot device or insert boot media in selected
  19. win10 台式机麦克风杂音 去除
  20. 读《CSS禅意花园》 有感

热门文章

  1. MOOC(幕课)的到来!
  2. 2018年小米 Mi air i7-7500u黑苹果efi引导文件
  3. 产品经理(PM)一秒理解MRD、PRD、BRD
  4. PSTN与VoIP相关知识
  5. 教你安装Weblogic
  6. Resolume Avenue 6 for Mac破解版永久激活方法附破解补丁
  7. JavaScript 浏览器中执行
  8. 你与植物人有何区别?意识与复杂性的新研究给你答案
  9. 第一单元 Java基础
  10. 红米note3图片剪裁bug