gpt4 book ai didi

python - 在Python中从URL中提取片段

转载 作者:行者123 更新时间:2023-11-30 23:19:37 25 4
gpt4 key购买 nike

我正在迭代 csv 文件中的多个 URL; URL 具有以下结构:

http://www.parool.nl/parool/nl/4024/AMSTERDAM-CENTRUM/article/detail/3751723/2014/09/21
http://www.parool.nl/parool/nl/5/POLITIEK/article/detail/3751624/2014/09/20/VVD-wil- boete-van-250-euro-voor-het-naroepen-van-vrouwen.dhtml

等等,

我需要获取文章类别(在第四个斜杠之后,在本例中为“AMSTERDAM-CENTRUM”和“POLITIEK”),并将它们附加到列表中。

我正在使用 urllib2:

reader=CsvUnicodeReader(open("my.csv","r"))
for row in reader:
url = row[0]
req=urllib2.Request(url)

有没有办法解析URL?

最佳答案

您可以使用urlparse.urlparse将 URL 拆分为其组件并可靠地提取路径组件,然后使用 regular expression提取您感兴趣的路径的类别部分:

from urlparse import urlparse
import re


URLS = ["http://www.parool.nl/parool/nl/4024/AMSTERDAM-CENTRUM/article/detail/3751723/2014/09/21",
"http://www.parool.nl/parool/nl/5/POLITIEK/article/detail/3751624/2014/09/20/VVD-wil-boete-van-250-euro-voor-het-naroepen-van-vrouwen.dhtml"]

pattern = re.compile("/parool/nl/\d*/(.*?)/article/detail/.*$")


for url in URLS:
parsed = urlparse(url)
match = pattern.match(parsed.path)
if match:
category = match.group(1)
print category

输出:

AMSTERDAM-CENTRUM
POLITIEK
<小时/>

正则表达式注释:

  • \d* 匹配任意数字 (0-9) 0 到多次
  • /(.*?)/ 匹配两个斜杠之间的任何字符零次到多次,非贪婪,并为斜杠之间的部分创建一个组

关于python - 在Python中从URL中提取片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25964003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com