小编Bit*_*han的帖子

创建迭代器以逐个返回每个可迭代的元素

我正在学习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上搜索了一个解决方案而无法获得解决方案.

python python-itertools python-3.x

7
推荐指数
1
解决办法
127
查看次数

如何在OperaDriver中启用内置VPN?

歌剧浏览器具有内置的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.116Ubuntu 16.04 LTS (x86_64; Unity)

python opera selenium web-scraping

5
推荐指数
1
解决办法
928
查看次数

我想解压抓取的网址

https://www.tokopedia.com/sitemap/product/1.xml.gz ”这是我的网址,该网址包含产品网址的数量,但它已压缩,我不知道如何解压缩该网址以及如何获取来自其中的数据,如何使用 scrapy 或 Beautiful soup 等其他 scrapy 库解压它

python unzip beautifulsoup nsxmlparser xml-parsing

0
推荐指数
1
解决办法
434
查看次数