我正在学习itertools模块,我试图让迭代器从作为输入提供的iterables中返回每个元素.
Agruments Results
p, q, … p0, q0, … plast, qlast
Run Code Online (Sandbox Code Playgroud)
与另外一个骑手,如果说列表长度不同,那么next(it)当较短的列表用完时,应该返回较长列表中的元素.
尝试解决方案
import itertools
l1=[1,2,3,4,5,6]
l2=['a','b','c','d']
l=[]
for x,y in itertools.zip_longest(l1,l2):
l.extend([x,y])
it=iter(x for x in l if x is not None)
Run Code Online (Sandbox Code Playgroud)
哪种解决了我的问题
print(list(it))
Run Code Online (Sandbox Code Playgroud)
输出:
[1, 'a', 2, 'b', 3, 'c', 4, 'd', 5, 6]
Run Code Online (Sandbox Code Playgroud)
有更简单或更好的方法吗?我在SO上搜索了一个解决方案而无法获得解决方案.
歌剧浏览器具有内置的VPN,可让您在浏览时隐藏IP。我的问题是在将OperaDriver与python中的硒一起使用时能否打开VPN?
尝试和问题的详细说明:
我有这个脚本,可以去网站显示我的IP地址。
from selenium import webdriver
from selenium.webdriver.opera.options import Options
from time import sleep
driver = webdriver.Opera(executable_path=r'/path/to/operadriver')
driver.get('https://whatismyipaddress.com')
sleep(10)
driver.quit()
Run Code Online (Sandbox Code Playgroud)
当我在启用了VPN的Opera浏览器上访问此站点时,我的IP被屏蔽,并显示一些其他IP地址。但是我的脚本打开了浏览器以显示我的真实IP地址。
我已经在SO以及其他站点上搜索了OperaDriver上的几乎所有问题。似乎绝对没有文档或任何与此相关的其他问题。
我最接近的是github上的此功能请求。OP表示,他可以通过使用OperaOptions加载自定义配置文件来使其工作。链接中发布的代码是
OperaOptions operaOptions = new OperaOptions();
operaOptions.addArguments("user-data-dir", "~/Library/Application Support/com.operasoftware.Opera");
driver = new OperaDriver(operaOptions);
Run Code Online (Sandbox Code Playgroud)
我试图在python中执行此操作,但没有任何结果。如果有任何问题,我可以使用Ubuntu 16.04,并且OperaDriver是从官方github页面下载的。Python版本为,3.6.7而Opera版本57.0.3098.116为Ubuntu 16.04 LTS (x86_64; Unity)。
“ https://www.tokopedia.com/sitemap/product/1.xml.gz ”这是我的网址,该网址包含产品网址的数量,但它已压缩,我不知道如何解压缩该网址以及如何获取来自其中的数据,如何使用 scrapy 或 Beautiful soup 等其他 scrapy 库解压它
python ×3
nsxmlparser ×1
opera ×1
python-3.x ×1
selenium ×1
unzip ×1
web-scraping ×1
xml-parsing ×1