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

在这里插入图片描述图一

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

在这里插入图片描述
这个红色的源码就是你要的数据,但是他是一个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爬取巨量百应商品决策页的视频链接,通常会涉及到网络爬虫技术,特别是使用诸如BeautifulSoup、Scrapy或者Selenium这样的库配合。以下是简单的步骤: 1. **安装必要的库**:首先,需要安装`requests`用于发送HTTP请求获取网页内容,`lxml`或`bs4`处理HTML解析,以及如`selenium`如果页面加载依赖JavaScript。 ```bash pip install requests beautifulsoup4 lxml selenium (如果网站有动态加载) ``` 2. **获取基础URL**:找到商品决策页的URL模板,例如https://www.baoying.com/product-decision-page/<product_id>,你需要替换`<product_id>`为实际的商品ID。 3. **创建爬虫函数**:利用`requests.get`获取网页源码,然后用BeautifulSoup解析HTML结构,查找包含视频链接的部分。这通常在`<iframe>`、`<a>`标签或特定CSS选择器下查找。 ```python from bs4 import BeautifulSoup import requests def scrape_video_links(product_id): url = f"https://www.baoying.com/product-decision-page/{product_id}" response = requests.get(url) soup = BeautifulSoup(response.text, 'lxml') # 假设视频链接都在`<iframe>`元素内 iframe_tags = soup.find_all('iframe') video_urls = [iframe['src'] for iframe in iframe_tags if 'src' in iframe.attrs] return video_urls ``` 4. **遍历并保存链接**:如果你想爬取所有商品,可以用循环遍历多个商品ID,或者直接搜索整个站点寻找相关页面。 5. **处理反爬策略**:请注意遵守网站的robots.txt规则,并考虑设置延迟或使用代理IP以避免过于频繁的访问导致封禁。 ```python # 示例:爬取前10个商品 for i in range(10): links = scrape_video_links(i) print(f"Product {i+1} video links:", links) ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值