python scrapy 爬取包含iframe标签内的数据

python scrapy 爬取包含iframe标签内的数据_第1张图片python scrapy 爬取包含iframe标签内的数据_第2张图片

如图所示: 所要提取的数据都在iframe标签里面的,直接用xpath提取iframe标签里的内容是提取不到的,
看到图一有一个script 所有的数据都在这个js标签内的,展开script标签后会看到一堆js代码,一直往下找会发现一个bytes类型的数据,如图

python scrapy 爬取包含iframe标签内的数据_第3张图片
这个红色的源码就是你要的数据,但是他是一个bytes类型的,提取出来之后需要你转一下格式,这里推荐使用

import urllib.parse
urllib.parse.unquote(bytes源码)

提取规则://*[@id='对应的标签名字']//script//text()

html_str = response.xpath("//*[@id='对应的标签名字']//script//text()")

提取过的数据再用正则提取出你要的数据 html_byte = re.findall(r"iframeContent =(.*?);",html_str ,re.DOTALL)
re.DOTALL 提取允许换行
通过转换一下格式,你就得到一个标准的html格式的代码,转换过后的源码太多,这里只粘贴自己要提取的部分
python scrapy 爬取包含iframe标签内的数据_第4张图片
看到这样的页面,直接用各种提取方式提取你想要的数据即可

在这里插入图片描述
源码不贴上了 每一个的业务不同,思路大致一样,

你可能感兴趣的:(python基础)