小白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爬图片代码大全_爬虫入门教程⑩— 用漂亮的图表展示爬取到的数据
经过了前面的努力,我们成功获取到了数据,并且学会了保存,但是只是用网页展示出来,是不是有一些不够美观呢? 所以本节的内容是:数据的可视化.拿到了数据却不能使其简单易懂并且足够突出,那就是不是好的数据工 ...
最新文章
- 科大星云诗社动态20210305
- 判断同构数 c语言,基于visual Studio2013解决C语言竞赛题之0413同构数
- 基于https国密算法构建安全数据传输链路
- 指纹支付为什么没有推广?
- 工程勘察设计收费标准2002修订版_2020抚顺花海工程设计收费标准
- ES6 class关键字 ~ 非常详细
- 51单片机redefinition_关于c51单片机的一个问题
- Ajax学习笔记-基础概述-1
- 华擎b365m itx 黑苹果_14nm退回22nm:华擎首秀五款B365主板
- 分享 上班族兼职项目——存着慢慢看很有用
- git pull origin拉取报错 Pulling without specifying how to reconcile divergent branches is
- 计算机历史浩荡几十载,细数那些影响时代的人和事
- 反射之前奏Oracle升级版
- 威廉玛丽学院计算机专业好吗,威廉玛丽学院计算机硕士语言要求请问在哪
- 直接下载 * http://softforspeed.51xiazai.cn/down/BaiduNetdisk_6.9.7.4.exe
- easyExcel导出文件为空解决
- Warning: Failed prop type: The prop 'bounces' is marked as required in 'PagerAndroid', but it's valu
- cannot be loaded because running scripts is disabled on this system.
- 动态条形图展示人均GDP,最后以gif格式输出
- Android的ADB
热门文章
- 华为云服务器linux切换账号,华为云Windows服务器如何切换为Linux系统?
- 日志库EasyLogging++学习系列(3)—— 配置功能
- java applet退出功能_java-如何使用内置在applet中的Button在浏览器中停止applet?
- python最长回文子串leetcode_Python版LeetCode5. 最长回文子串
- 10拨号拒绝远程连接_ADLS动态拨号vps常见的问题
- 学习SOX(1) 在VC中编译
- 香帅的北大金融学课笔记11 -- 资产配置
- AI理论知识整理(17)-子式,非奇异,可逆
- 【时间序列】AR、MA、ARMA与ARIMA
- 【NLP】完全解析!Bert Transformer 阅读理解源码详解