Python爬虫实现抓取京东店铺信息及下载图片功能示例

作者:1443539042@qq.com 时间:2022-11-26 21:02:44 

本文实例讲述了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.striplstriprstrip的用法:

Python中的strip用于去除字符串的首尾字符;同理,lstrip用于去除左边的字符;rstrip用于去除右边的字符。

这三个函数都可传入一个参数,指定要去除的首尾字符。

需要注意的是,传入的是一个字符数组,编译器去除两端所有相应的字符,直到没有匹配的字符,比如:


theString = 'saaaay yes no yaaaass'
print theString.strip('say')

theString依次被去除首尾在['s','a','y']数组内的字符,直到字符在不数组内。所以,输出的结果为:

yes no

比较简单吧,lstriprstrip原理是一样的。

注意:当没有传入参数时,是默认去除首尾空格和换行符的。


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

标签:Python,爬虫,抓取
0
投稿

猜你喜欢

  • tensorflow使用freeze_graph.py将ckpt转为pb文件的方法

    2023-01-31 15:31:05
  • Tensorflow之MNIST CNN实现并保存、加载模型

    2023-10-16 06:21:33
  • Python中列表的基本操作汇总

    2021-08-20 23:21:27
  • Django mysqlclient安装和使用详解

    2024-01-13 21:13:08
  • ubunt18.04LTS+vscode+anaconda3下的python+C++调试方法

    2023-04-01 16:46:37
  • vue-cli整合vuex的时候,修改actions和mutations,实现热部署的方法

    2024-05-13 09:13:16
  • 简单了解什么是神经网络

    2023-10-11 22:26:34
  • 运用python去除图片水印

    2021-05-06 10:54:20
  • CSS的另类拼图___减少HTTP请求

    2009-05-28 19:05:00
  • Go语言HTTPServer开发的六种方式小结

    2023-06-22 21:48:21
  • 如何将pytorch模型部署到安卓上的方法示例

    2023-03-15 15:12:12
  • python内置函数:lambda、map、filter简单介绍

    2021-06-06 02:06:01
  • 一文详解Go中方法接收器的选择

    2024-05-28 15:36:32
  • python logging模块的使用详解

    2023-06-08 08:43:34
  • Python多重继承的方法解析执行顺序实例分析

    2021-06-08 04:34:51
  • 基于Tensorflow的MNIST手写数字识别分类

    2023-12-01 11:35:18
  • Python使用Numpy模块读取文件并绘制图片

    2022-03-11 07:11:58
  • Python实现自定义异常堆栈信息的示例代码

    2021-10-29 14:27:47
  • php中in_array函数用法探究

    2023-06-21 21:03:54
  • Java连接Sql数据库经常用到的操作

    2024-01-17 09:26:28
  • asp之家 网络编程 m.aspxhome.com