python - 抓取时如何绕过googletagmanager
问题描述
当网站添加脚本 googletagmanadger 我无法得到我需要的东西。使用此代码,我从现在开始抓取链接我在每一行中都得到“www.googletagmanager.com”......所以我不知道如何处理。谢谢
[HTML][1]
[CSV 文件现在的样子][2]
from bs4 import BeautifulSoup
import csv
import pandas as pd
from csv import writer
data_list = ["LINKI", "GOWNO", "JAJCO"]
with open('innovators.csv', 'w', newline='') as file:
writer = csv.writer(file, delimiter=',')
writer.writerow(data_list)
for i in range(0,50):
#df = pd.read_csv("C:\\Users\\Lukasz\\Desktop\\PROJEKTY PYTHON\\W TRAKCIE\\bf3_strona2.csv")
#url = "https://bf3.space/" + df['LINKS'][i]
url='https://bf3.space/a-Byu6am3P'
response = requests.get(url)
data = response.text
soup = BeautifulSoup(data, 'lxml')
rows = soup.find('iframe')
q = (rows.get('src'))
writer.writerow([q])
[1]: https://i.stack.imgur.com/Ogq0N.png
[2]: https://i.stack.imgur.com/3JYqc.png
解决方案
您可以soup.find()
与 lambda 一起使用。
例如:
import requests
from bs4 import BeautifulSoup
url = 'https://bf3.space/a-Byu6am3P'
soup = BeautifulSoup(requests.get(url).content, 'html.parser')
print( soup.find('iframe', src=lambda s: 'googletagmanager.com' not in s) )
打印第一个非 googletagmanager<iframe>
标签:
<iframe align="center" frameborder="0" height="1500" src="https://ven-way.x.yupoo.com/albums/83591895?uid=1" style="margin: 10px 0;padding: 0px 0px; border:none" width="100%"></iframe>
推荐阅读
- python - 可以更改我没有编写的源代码吗?
- eclipse - 流行 IDE 是否有键盘映射布局文件?
- spring-boot - 在我们自己的异常中混合@ResponseStatus 并在@ControllerAdvice 中处理其他异常
- maven - 来自 GitHub 包注册表的 mvn 安装包
- laravel - 雄辩的 whereRaw 不使用绑定
- android - Ionic Cordova 在 --target 上运行指向另一个模拟器
- javascript - 当用户没有输入任何数字时,我需要显示一个警告框
- c# - UWP - C# XAML - 如何在 DependencyProperty 中施加约束?
- node.js - req.headres.Authorization 在heroku中没有定义?
- nginx - uWSGI + Nginx(权限被拒绝)+ CentOS