我有两个清单:
第一个是包含站点地图链接的常规列表:
ur = ['https://www.hi.de/hu/sitemap.xml',
'https://www.hi.de/ma/sitemap.xml',
'https://www.hi.de/au/sitemap.xml',
]
Run Code Online (Sandbox Code Playgroud)
第二个列表是嵌套的,其中包含在站点地图上建立索引的链接以及每个链接的日期:
wh = [['No-Date', 'https://www.hi.de/hu/artikel/xxx', ''],
['2019-11-13', 'https://www.hi.de/ma/artikel/xxx'],
['2019-11-12', 'https://www.hi.de/ma/artikel/xxx'],
['2019-11-11', 'https://www.hi.de/au/artikel/xxx']]
Run Code Online (Sandbox Code Playgroud)
现在,我想根据它们来自的位置图将列表与有色列表合并,如下所示:
ui = [['https://www.hi.de/hu/sitemap.xml', 'No-Date', 'https://www.hi.de/hu/artikel/xxx', ''],
['https://www.hi.de/ma/sitemap.xml' '2019-11-13', 'https://www.hi.de/ma/artikel/xxx'],
['https://www.hi.de/ma/sitemap.xml', '2019-11-12', 'https://www.hi.de/ma/artikel/xxx'],
['https://www.hi.de/au/sitemap.xml', '2019-11-11', 'https://www.hi.de/au/artikel/xxx']]
Run Code Online (Sandbox Code Playgroud)
但是用我的代码:
ui = [[(url2, x) for url2 in ur for x in y if url2.rsplit('/', 1)[0] in x] for y in wh]
Run Code Online (Sandbox Code Playgroud)
每个子列表中的日期都将被删除,并且条目还存储在这样的元组中:
...
[[('https://www.hi.de/hu/sitemap.xml', 'https://www.hi.de/hu/artikel/xxx', '')],
...
Run Code Online (Sandbox Code Playgroud)
如何更改代码以在变量ui中获得所需的结果?
我想从带有动态表的网页中抓取数据。该表包含有关乘坐火车的信息。
这是网站:https : //www.laerm-monitoring.de/zug/?mp=3/
我试图通过一个简单的挂载请求会话来请求数据,但我只得到了基本的 HTML 数据,而没有表格中的数据。
def requests_retry_session(
retries=3,
backoff_factor=0.3,
status_forcelist=(500, 502, 504, 429),
session=None,
):
session = session or requests.Session()
retry = Retry(
total=retries,
read=retries,
connect=retries,
backoff_factor=backoff_factor,
status_forcelist=status_forcelist,
)
adapter = HTTPAdapter(max_retries=retry)
session.mount('http://', adapter)
session.mount('https://', adapter)
return session
session = requests_retry_session()
response = session.get('https://www.laerm-monitoring.de/zug/?mp=3/')
response.content
Run Code Online (Sandbox Code Playgroud)
我怎样才能正确地做到这一点?
我在 Scala 中有以下代码。我有几个关于功能和语法的问题。
type Logger = String => Unit
type Decorator = Logger => Logger
val uppercase: Decorator =
logger =>
(msg: String) => logger(msg.toUpperCase)
val info: Decorator =
logger =>
(msg:String) => logger("info " + msg)
Run Code Online (Sandbox Code Playgroud)
我理解正确吗,那Decorator是ìnfo函数的输入?
为什么这里不需要声明返回类型?
然后我使用这样的代码:
val prefixUppercase = info(uppercase(println(_)))
Run Code Online (Sandbox Code Playgroud)
为什么我可以通过println(_)对uppercase?
该uppercase函数需要一个类型为 的参数Decorator,这println()显然不是。
另外,我使用println(_),但是当我尝试传递这样的命名参数时,println(x)我收到一个错误。
我有一个元组列表,如下所示:
l = [('xx-1711640.html', 'Hello'),
('xx-8411747.html', 'Bye')
]
Run Code Online (Sandbox Code Playgroud)
实际的列表有数千个条目。现在我想对元组使用正则表达式。为此,我有一个 for 循环。另外,我希望输出也是元组列表。
我的代码:
ret = []
for line in l:
for i in line:
try:
reg = re.sub(r'.+-', '', i)
ret.append(reg)
except:
print(line)
Run Code Online (Sandbox Code Playgroud)
然而,使用这段代码,我的输出如下所示:
ret = ['1711640.html', 'Hello', '8411747.html', 'Bye']
Run Code Online (Sandbox Code Playgroud)
当我希望它看起来像这样时:
ret = [('1711640.html', 'Hello'), ('8411747.html', 'Bye')]
Run Code Online (Sandbox Code Playgroud)
我怎样才能正确地做到这一点?