小白html图片添加文字,小白爬虫入门——爬取图片和文字(超详细)
使用lxml包,从简单的网页中获取文本和图片
爬取网址:http://www.pythonscraping.com/pages/page3.htm
第一步 ,看网页结构
F12打开开发者模式,大致网页结构如下,看图:
下面这个图片是针对一个tr标签的详解,代码与显示一一对应:
第二步 ,代码解释
lxml简单使用
在自己想爬取的文本位置上单击右键,选择copy–>Xpath,即可获得xpath内容,但需要我们稍作修改。
获得的xpath如下:
//*[@id="gift1"]/td[4]/img
但由于id是变化的,而每项里面的class是不变的,所以修改一下,并加上src属性,得到:
//*[@class="gift"]/td[4]/img/@src
1、获取文本— 以第一个td为例
title = html.xpath('//*[@class="gift"]/td[1]/text()')
2、 获取标签下所有文本——获得第二个td
这里主要是第二部分的描述,td下不仅仅是文本还有span标签,所以如果用text()会出现许多空行并且获取不到span下的文本,这里要用string()
#获得html中所有的class="gift"元素下的所有第二个td子元素
desc = html.xpath('//*[@class="gift"]/td[2]')
for i in range(0,len(desc)):
#处理元素获得字符串
descText = desc[i].xpath('string(.)')
3、 获取图片
获取img标签中的src属性中的内容
imgs=html.xpath('//*[@class="gift"]/td[4]/img/@src')
在读取图片时注意,由于爬取的图片信息是这种形式:../img/gifts/img1.jpg
在保存图片时需要改写一下路径
img = '../img/gifts/img1.jpg'
实际图片路径:
imgUrl = 'http://www.pythonscraping.com/x/'+img
`x/`只是为了多一层,名字随便,抵消掉`../`
第三步 ,所有代码
导入三个包,如果没有该包,就pip install ,但如果pip install lxml 失败,就看看这个 通过lxml的.whl文件来进行安装
import requests
from lxml import etree
import re
#文本信息保存在test.txt
file = open("test.txt",'w',encoding='utf-8')
url = "http://www.pythonscraping.com/pages/page3.html"
res = requests.get(url)
content = res.content
html = etree.HTML(content)
#数据解析
title = html.xpath('//*[@class="gift"]/td[1]/text()')
desc = html.xpath('//*[@class="gift"]/td[2]')
price = html.xpath('//*[@class="gift"]/td[3]/text()')
imgs=html.xpath('//*[@class="gift"]/td[4]/img/@src')
#写入文件
x = len(title)
for i in range(0,x):
# 描述要特别处理
descText = desc[i].xpath('string(.)')
#保存文本信息
file.write("第"+str(i+1)+"行数据"+"\n"+title[i]+"\n"+descText+"\n"+price[i]+"\n\n")
#下载图片
with open('F:\PythonWork\\taobao_code\images\\'+str(i)+'.jpg', 'wb') as fd:
picture=requests.get('http://www.pythonscraping.com/x/'+imgs[i]).content
fd.write(picture)
print("成功下载%s.jpg"%i)
#关闭文件
file.close()
总结
重点注意获取标签里面所有文本内容
小白html图片添加文字,小白爬虫入门——爬取图片和文字(超详细)相关推荐
- 小白爬虫入门——爬取图片和文字(超详细)
使用lxml包,从简单的网页中获取文本和图片 爬取网址:http://www.pythonscraping.com/pages/page3.htm 第一步 ,看网页结构 F12打开开发者模式,大致网页 ...
- 菜鸡爬虫入门——爬取图片
爬取图片的一般步骤 1.先声明一个存放图片的地址(path) 2图片是二进制格式,如何把二进制保存为图片呢? 2.1 用到with open()先打开文件 2.2 r.content表示返回内容的二进 ...
- 用python爬虫爬取无水印图片_使用python 爬虫,爬取图片
一.需求: 用python实现去内涵段子里面下载网页当中的图片到本地当中 二.实现: 1.获取要爬取的URL地址 2.设置headers 3.请求网页内容,把html内容转换成XML 4.解析地址内容 ...
- 爬虫入门--爬取就业网站上的岗位信息构造数据集
爬虫入门--爬取就业网站上的岗位信息.解析爬取的数据构造数据集 爬虫入门实践 爬虫的基本概念 爬虫的技术实现 爬虫入门实践 大家好!随着大数据分析逐渐火热的今天,爬虫技能也成了数据分析师一项不可或缺的 ...
- java图片简单爬虫_[Java教程]使用jsoup进行简单的爬虫操作爬取图片
[Java教程]使用jsoup进行简单的爬虫操作爬取图片 0 2015-12-01 17:00:27 package com.guanglan.util;import java.io.File;imp ...
- C++爬虫项目爬取图片
C++爬虫项目爬取图片, 值得注意的是有些网站的图片爬不来的,有反爬机制,所以一般人爬不下来. 主要代码文件 main.cpp文件里面的代码 #include "CHttp.h" ...
- Python 利用百度文字识别 API 识别并提取图片中文字
Python 利用百度文字识别 API 识别并提取图片中文字 利用百度 AI 开发平台的 OCR 文字识别 API 识别并提取图片中的文字.首先需注册获取 API 调用的 ID 和 key,步骤如下: ...
- python怎么爬取b站_【Python爬虫实例学习篇】——4、超详细爬取bilibili视频
[Python爬虫实例学习篇]--4.超详细爬取bilibili视频 由于经常在B站上学习,但无奈于家里网络太差,在线观看卡顿严重,于是萌生了下载视频的想法(如果只是单纯想下载视频,请用you-get ...
- python爬图片代码大全_爬虫入门教程⑩— 用漂亮的图表展示爬取到的数据
经过了前面的努力,我们成功获取到了数据,并且学会了保存,但是只是用网页展示出来,是不是有一些不够美观呢? 所以本节的内容是:数据的可视化.拿到了数据却不能使其简单易懂并且足够突出,那就是不是好的数据工 ...
最新文章
- Python 之 matplotlib (十三) subplot分格显示
- Java 编程的动态性,第 7 部分: 用 BCEL 设计字节码--转载
- openssl与cryptoAPI交互AES加密解密
- js中const,var,let区别与用法
- 特征权重量化 TF-IDF 用于信息检索和数据挖掘的加权技术
- leetcode 228. 汇总区间
- 初学者选黑卡还是微单_3500以内的微单相机好用吗?值得初学者入手吗?
- 如何在QQ浏览器查看默认搜索引擎
- boootstap-面包屑-下拉菜单
- ps3存档是php文件,PS3存档修改图文详细全教程
- asp.net core 系列 19 EFCore介绍
- likely,unlikely宏与GCC内建函数__builtin_expect()
- 【图像配准】基于matlab GUI光流场模型医学图像配准【含Matlab源码 747期】
- java 蓝牙串口_java_android_0057 蓝牙串口助手源码
- Qos服务质量与IntServ和DiffServ
- vdi虚拟服务器,VMware VDI部署攻略之三:VDI安装及配置
- 工作日志之误用篇 工作日志之目的
- 122全国交通安全日
- python处理excel和word文档
- 前端开发问题——css设置背景样式效果无法显现
热门文章
- VC++获取屏幕大小第三篇 物理大小GetDeviceCaps 下
- 计算机社团发展目标,计算机社团工作计划
- mysql5.7.19 创建用户_mysql5.7.19用户的创建和权限的操作
- 出席全球数字经济大会 第四范式助力打造中国数字经济“北京样板”
- vb.net2019- 机器学习ml.net情绪分析(2)
- 【机器学习】太赞了!几行代码实现30多种时序模型预测
- 【CV】语义分割:最简单的代码实现!
- 【学术相关】这个英文语法校正插件很赞!可以校正邮件,也可以校正论文
- 【机器学习】基于LightGBM算法实现数据挖掘!
- 再降64%,3.5M超轻量中英文OCR模型开源,身量缩减效果提升v4.1