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
0
投稿
猜你喜欢
- WEB开发者不光要解决程序的效率问题,对数据库的快速访问和相应也是一个大问题。希望本文能对大家掌握MySQL优化技巧有所帮助。1. 优化你的
- 这一段CSS代码相当简单,目的就是想用CSS来控制某段文字的显示与隐藏。起初我采用了下面的代码,令人不可思议的是,它们在我的IE6.0上居然
- numpy中的乘法A = np.array([[1, 2, 3], [2, 3, 4]])B = np.array([[1, 0, 1],
- 1、添加一个任务task2 = visit_url('http://another.com', 3)asynicio.run
- Conditional-CSS允许你针对单一浏览器或浏览器组写出有逻辑条件的可维护的特定的CSS声明。使CSS针对特定的浏览器。简化你对CS
- Session作用Session的根本作用就是在服务端存储用户和服务器会话的一些信息。典型的应用有:1、判断用户是否登录。2、购物车功能。s
- 1、设置字体、风格代码主题选择Monokai会是彩色的代码。2、配置CI代码提示<1>下载代码提示项目:https://gith
- 我的通用权限系统设计是更换权限时候尽量不要涉及到代码修改,来自chinaunix论坛,今天转过来看看。希望对大家有所帮助,对PHP100的朋
- 一套javascript摇奖程序,随机6+1选号码,类似游戏彩票摇奖效果,实时滚动。截图:<style>.inp{ width:
- 今天发现了一个显示ORACLE语法的好网站。内容太多,就不一一摘录了,记在这里,也方便自己查找。http://ss64.com/ora/ 目
- 在应用程序的开发中,有些输入信息是动态的,比如我们要注册一个员工的工作经历,比如下图如果做成死的,只能填写三个,如果是四个呢?或者更多呢,那
- 本文实例讲述了Python实现根据日期获取当天凌晨时间戳的方法。分享给大家供大家参考,具体如下:# -*- coding:utf-8 -*-
- YAML语法规则:http://www.ibm.com/developerworks/cn/xml/x-cn-yamlintro/下载PyY
- 本文分别介绍了安装python2和python3的详细方法,分享给大家。一、Windows系统很多童鞋问之前的教程怎么没有介绍安装pytho
- 要防止同一用户同时登陆,首页应该记录在线用户的信息(这里与用户名为例),然后判断正在登陆的用户里面是否已存在。在这里使用一个cache存放已
- 在python里面,读取或写入csv文件时,首先要import csv这个库,然后利用这个库提供的方法进行对文件的读写。典型的数据集stoc
- 数据库中有一字段type_code,有中文类型和中文类型编码,现在对type_code字段的数据进行统计处理,编码对应的字典如下:{'
- 对于xml2ddl项目,Freshmeat.org提供了一整套基于GNU或者GPL通用公共许可证下的Python程序。在一个运行的Pytho
- 在网上游荡,看着别人的精彩主页难免心里痒痒的,但自己精心布置的家(个人主页),如果在不同的浏览器中呈现
- innewDropList = [9,10,11,12,22,50,51,60,61]newDB = newDB[newDB['gr