简单爬虫1688商品的主图和详情图

1.首先下载安装python3(window系统)

2.cmd启动控制命令

3.输入python,出现

 出现上图就是安装成功了。

4.输入exit()退出python命令

5.输入D:进入D盘,创建文件python文件 和储藏爬虫下来图片images文件

在python文件建立xiang.py文件 复制下面代码

import requests

from PIL import Image

from bs4 import BeautifulSoup

 

def xiang(url):

circle1 = requests.get(url)

soup1 = BeautifulSoup(circle1.text, 'lxml')

for item in soup1.select('#desc-lazyload-container'):

data_url = item.get('data-tfs-url')

print('A' + data_url )

circle = requests.get(data_url)

# 将获取的图片地址依次放入count中

count = []

soup = BeautifulSoup(circle.text, 'lxml')

# 将获取的网页内容放入BeautifulSoup

# 根据谷歌SelectGadGet这个插件,获取html标签,比如获取:#gallery-list

for item in soup.select('img'):

# print(item)

# print(type(item))

# 用bs4中的find_all获取 #gallery-list 中是否存在 img这个标签

# for img in item.find_all('img'):

# print('img', item)

# m 是 img标签中存在的属性

img_path = item.get('src')

img_path=img_path[2:]

img_path=img_path[:-2]

count.append(img_path)

# print(img_path)

# 用enumerate依次取出count中的图片地址 放入v中

for i,v in enumerate(count):

# 将获取的v值再次放入request中进行与网站相应

image1 = requests.get(v)

# 存取图片过程中,出现不能存储 int 类型,故而,我们对他进行类型转换 str()。w:读写方式打开,b:二进制进行读写。图片一般用到的都是二进制。

with open('D:\\python\\images\\img'+str(i)+'.jpg', 'wb') as file:

# content:图片转换成二进制,进行保存。

file.write(image1.content)

im = Image.open('D:\\python\\images\\img'+str(i)+'.jpg')

(x,y) = im.size #read image size

x_s = 750 #define standard width

y_s = int(y * x_s / x) #calc height based on standard width

out = im.resize((x_s,y_s),Image.ANTIALIAS) #resize image with high-quality

out.save('D:\\python\\images\\img'+str(i)+'.jpg')

print(i)

 

在python文件建立zhu.py文件 复制下面代码

import requests

from bs4 import BeautifulSoup

import json

from PIL import Image

def zhu(url):

circle = requests.get(url)

# 将获取的图片地址依次放入count中

count = []

 

# 将获取的网页内容放入BeautifulSoup

soup = BeautifulSoup(circle.text, 'lxml')

# 根据谷歌SelectGadGet这个插件,获取html标签,比如获取:#gallery-list

for item in soup.select('.nav-tabs'):

# print(item)

# print(type(item))

# 用bs4中的find_all获取 #gallery-list 中是否存在 img这个标签

for li in item.find_all('li'):

# print('img', item)

# m 是 img标签中存在的属性

img_path = li.get('data-imgs')

data2 = json.loads(img_path)

# img_path=img_path[2:]

# img_path=img_path[:-2]

count.append(data2['original'])

# print(img_path)

# 用enumerate依次取出count中的图片地址 放入v中

for i,v in enumerate(count):

# 将获取的v值再次放入request中进行与网站相应

image1 = requests.get(v)

# 存取图片过程中,出现不能存储 int 类型,故而,我们对他进行类型转换 str()。w:读写方式打开,b:二进制进行读写。图片一般用到的都是二进制。

with open('D:\\python\\images\\zhu'+str(i)+'.jpg', 'wb') as file:

# content:图片转换成二进制,进行保存。

file.write(image1.content)

im = Image.open('D:\\python\\images\\zhu'+str(i)+'.jpg')

(x,y) = im.size #read image size

x_s = 750 #define standard width

y_s = int(y * x_s / x) #calc height based on standard width

out = im.resize((x_s,y_s),Image.ANTIALIAS) #resize image with high-quality

out.save('D:\\python\\images\\zhu'+str(i)+'.jpg')

print(i)

 

在python文件建立gui.py文件 复制下面代码

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import re

from tkinter import * # 导入 Tkinter 库

import tkinter.messagebox

from xiang import *

from zhu import *

root = Tk() # 创建窗口对象的背景色

root.title("hello world") # 创建两个列表

root.geometry('1000x500')

root.resizable(width=False,height=True)

L1 = Label(root, text="爬虫网址:")

L1.pack(side = LEFT)

E1 = Entry(root, bd =8,width=100)

E1.pack(side = LEFT)

 

def say_hi():

url = E1.get()

value = re.match('https://detail.1688.com/', url)

if value != None:

xiang(url)

zhu(url)

tkinter.messagebox.showinfo('提示', '下载完毕')

else:

tkinter.messagebox.showinfo('提示', '网址错误')

b1=Button(root, text='搜索', relief='raised', width=10,command=say_hi)

b1.pack(side = LEFT)

 

root.mainloop() # 进入消息循

 

一定好记的安装模块requests,bs4,PIL,json等

然后运行python.gui.py

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
### 回答1: Python爬虫可以用来爬取京东商品详情信息。具体步骤如下: 1. 安装Python爬虫框架,如Scrapy或BeautifulSoup。 2. 打开京东网站,找到需要爬取的商品页面。 3. 使用Python爬虫框架编写代码,通过网页源代码分析,提取出需要的商品信息,如商品名称、价格、评论等。 4. 将提取出的商品信息存储到本地文件或数据库中。 5. 可以使用数据分析工具对爬取到的数据进行分析和处理,以便更好地了解市场需求和竞争情况。 需要注意的是,爬取京东商品信息需要遵守相关法律法规和京东网站的规定,不得进行恶意爬取和侵犯用户隐私等行为。 ### 回答2: Python爬虫是一种自动化程序,可用于从网络上获取数据和信息。京东是中国最大的电子商务公司之一,对于企业和消费者来说,京东是一个非常重要的购物平台。本文将介绍如何使用Python爬虫从京东上获取商品详情信息。 首先,我们需要安装相关的Python库,如requests、beautifulsoup4等。requests库可以用来向网页发送请求并获取响应,beautifulsoup4库则可以解析网页源码,提取出需要的信息。 接下来,我们需要确定我们要爬取的商品的URL,然后将URL传递给requests.get()方法来获取源代码。 ```python import requests url = 'https://item.jd.com/10027149632663.html' response = requests.get(url) # 获取网页源代码 html = response.text ``` 接着,我们需要使用beautifulsoup4库解析源代码,提取我们需要的商品信息。我们可以使用select()方法根据标签、class、id等来选择元素。 ```python from bs4 import BeautifulSoup # 解析网页源代码 soup = BeautifulSoup(html, 'html.parser') # 获取商品名称 name = soup.select('#name > h1')[0].text.strip() # 获取商品价格 price = soup.select('#jd-price')[0].text.strip() # 获取商品详细信息 detail = soup.select('#detail > div')[0].text.strip() ``` 最后,我们可以将商品信息输出或保存到本地文件中。 ```python # 输出商品信息 print('商品名称:', name) print('商品价格:', price) print('商品详细信息:', detail) # 将商品信息保存到文件 with open('product_detail.txt', mode='w', encoding='utf-8') as f: f.write('商品名称:' + name + '\n') f.write('商品价格:' + price + '\n') f.write('商品详细信息:' + detail + '\n') ``` 通过上述的步骤,我们就可以使用Python爬虫爬取京东商品详情信息了。当然,这只是一个简单的示例,如果想要爬取更多的商品信息,就需要更加复杂的程序和处理方法。同时,需要注意的是,爬虫爬取数据涉及到很多法律和道德方面的问题,应该遵守相关规定和伦理道德。 ### 回答3: Python爬虫可以轻松爬取京东商品详情信息。以下是步骤: 1. 导入必要的库:requests, json, lxml, re 2. 通过requests库发送请求,得到响应并解析,获取商品页面的HTML代码 3. 通过lxml库解析HTML代码,获取商品名称、价格、评论数等信息 4. 通过re库从HTML代码中提取图片链接等信息,并通过requests库下载图片 5. 存储商品信息和图片到本地或者数据库中 具体步骤: 1. 导入库 ``` import requests import json from lxml import etree import re ``` 2. 发送请求获取HTML代码 ``` url = "https://item.jd.com/123456.html" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"} response = requests.get(url, headers=headers) html = response.text ``` 3. 解析HTML代码获取商品信息 ``` tree = etree.HTML(html) name = tree.xpath('//div[@id="name"]/h1/text()')[0] price = tree.xpath('//span[@class="price J-p-123456"]/text()')[0] comment_num = tree.xpath('//div[@id="comment-count"]/a/text()')[0] ``` 4. 提取图片链接并下载图片 ``` img_urls = re.findall('img.*?data-lazyload="(.*?)"', html, re.S) for img in img_urls: response = requests.get(img) with open('img/'+img.split('/')[-1], 'wb') as f: f.write(response.content) ``` 5. 存储商品信息和图片 ``` data = { "name": name, "price": price, "comment_num": comment_num } with open("data.json", "a", encoding="utf-8") as f: f.write(json.dumps(data, ensure_ascii=False) + "\n") ``` 以上就是使用Python实现京东商品详情信息的爬虫的步骤。需要注意的是,爬虫必须遵循网站的规则,不能过度爬取造成网站压力和损失。而且,为了不影响其他用户,爬虫应该尽量缩短访问时间,避免频繁请求。
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值