Python爬虫实现抓取京东店铺信息及下载图片功能示例
作者:1443539042@qq.com 发布时间:2022-11-26 21:02:44
标签:Python,爬虫,抓取
本文实例讲述了Python爬虫实现抓取京东店铺信息及下载图片功能。分享给大家供大家参考,具体如下:
这个是抓取信息的
from bs4 import BeautifulSoup
import requests
url = 'https://list.tmall.com/search_product.htm?q=%CB%AE%BA%F8+%C9%D5%CB%AE&type=p&vmarket=&spm=875.7931836%2FA.a2227oh.d100&from=mallfp..pc_1_searchbutton'
response = requests.get(url) #解析网页
soup = BeautifulSoup(response.text,'lxml') #.text将解析到的网页可读
storenames = soup.select('#J_ItemList > div > div > p.productTitle > a') #选择出商店的信息
prices = soup.select('#J_ItemList > div > div > p.productPrice > em') #选择出价格的信息
sales = soup.select('#J_ItemList > div > div > p.productStatus > span > em') #选择出销售额的信息
for storename, price, sale in zip(storenames,prices,sales):
storename = storename.get_text().strip() #用get_text()方法筛选出标签中的文本信息,由于筛选结果有换行符\n所以用strip()将换行符去掉
price = price.get_text()
sale = sale.get_text()
print('商店名:%-40s价格:%-40s销售额:%s'%(storename,price,sale)) #使打印出来的信息规范
print('----------------------------------------------------------------------------------------------')
这个是下载图片的
from bs4 import BeautifulSoup
import requests
import urllib.request
url = 'https://list.tmall.com/search_product.htm?q=%CB%AE%BA%F8+%C9%D5%CB%AE&type=p&vmarket=&spm=875.7931836%2FA.a2227oh.d100&from=mallfp..pc_1_searchbutton'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'lxml')
imgs = soup.select('#J_ItemList > div > div > div.productImg-wrap > a > img')
a = 1
for i in imgs:
if(i.get('src')==None):
break
img = 'http:'+i.get('src') #这里废了好长的时间,原来网站必须要有http:的
#print(img)
urllib.request.urlretrieve(img,'%s.jpg'%a, None,)
a = a+1
ps:
1.选择信息的时候用css
2.用get_text()
方法筛选出标签中的文本信息
3.strip
,lstrip
,rstrip
的用法:
Python中的strip
用于去除字符串的首尾字符;同理,lstrip
用于去除左边的字符;rstrip
用于去除右边的字符。
这三个函数都可传入一个参数,指定要去除的首尾字符。
需要注意的是,传入的是一个字符数组,编译器去除两端所有相应的字符,直到没有匹配的字符,比如:
theString = 'saaaay yes no yaaaass'
print theString.strip('say')
theString依次被去除首尾在['s','a','y']
数组内的字符,直到字符在不数组内。所以,输出的结果为:
yes no
比较简单吧,lstrip
和rstrip
原理是一样的。
注意:当没有传入参数时,是默认去除首尾空格和换行符的。
theString = 'saaaay yes no yaaaass'
print theString.strip('say')
print theString.strip('say ') #say后面有空格
print theString.lstrip('say')
print theString.rstrip('say')
运行结果:
yes no
es no
yes no yaaaass
saaaay yes no
希望本文所述对大家Python程序设计有所帮助。
来源:https://blog.csdn.net/qq_35661436/article/details/52180399


猜你喜欢
- torch.nn.CrossEntropyLoss交叉熵损失本文只考虑基本情况,未考虑加权。torch.nnCrossEntropyLoss
- 前言加密解密在实际开发中应用比较广泛,常用加解密分为:“对称式”、“非对称式&a
- canal简介由阿里巴巴开源 github地址:https://github.com/alibaba/canalCanal是阿里巴巴开源的一
- 前言pymssql模块是用于sql server数据库(一种数据库通用接口标准)的连接。另外pyodbc不仅限于SQL server,还包括
- 第一种方法:python操作xml文件随手找了一个xml文件内容(jenkins相关文件)<?xml version="1.
- 一、打开、关闭文件 语法为open (filevar, filename),其中filevar为文件句柄,或者说是程序中用来代表某文件的代号
- 本文实例讲述了mysql累积聚合原理与用法。分享给大家供大家参考,具体如下:累积聚合为聚合从序列内第一个元素到当前元素的数据,如为每个员工返
- 删除一,你可以先把类型为varchar的字段该名,再加以个字段为要该为date的字段名相同,二,1,测试表create table TEST
- 装饰器的价值不言而喻,可以用来增强函数功能、简化代码、减少代码冗余。它的使用场景同样很多,比较简单的场景包含打印日志、统计运行时间,这类例子
- CSV文件简单来说CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗
- 前言工作中偶尔会遇到文件去重的事情,收到一大堆文件,名称各不相同,分析文件的时候发现有不少重复的文件,导致工作效率低下,那么,这里就写了一个
- 一 异常处理1.什么是异常Error(错误)是系统中的错误,程序员是不能改变的和处理的,如系统崩溃,内存空间不足,方法调用栈溢等。遇到这样的
- 前言本文主要给大家介绍了关于Django中内置用户认证的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。认证登陆在
- 目录精确调整工作表的行高和列宽批量更改多个工作簿的数据格式批量更改工作簿的外观格式设置字体格式修改字体为宋体修改字号字体加粗字体颜色单元格填
- 我们可向函数传递动态参数,*args,**kwargs,首先我们来看*args,示例如下:1.show(*args)def show(*ar
- 1、在MySQL中要修改全局(global)变量,有两种方法:方法一,修改my.ini配置文件,如果要设置全局变量最简单的方式是在my.in
- flags参数re.I IGNORECASE 忽略字母大小写re.L &nb
- 前几天安装了dedecms系统,当在后台安全退出的时候,后台出现空白,先前只分析其他功能去了,也没太注意安全,看了一下安全退出的代码,是这样
- MySQL内部复制功能是建立在两个或两个以上服务器之间,通过设定它们之间的主-从关系来实现的。其中一个作为主服务器,其它的作为从服务器。本节
- for splitValue in set(dataset[:, featureIndex].tolist()):首先set是一个无序,无重