[英]Python 3: How to extract url image?
我想要提取的網址具有相同的模式:
"begin" : "url_I_want_extract"
他們看着像是:
"begin" : "https://k2.website.com/images/0x0/0x0/0/16576946054146395951.jpeg"
"begin" : "https://k2.website.com/images/0x0/0x0/0/9460365509030976330.jpeg"
"begin" : "https://k2.website.com/images/0x0/0x0/0/9361112829030898475.jpeg"
"begin" : "https://k3.website.com/images/0x0/0x0/0/14705723619301900580.jpeg"
"begin" : "https://k3.website.com/images/8x36/922x950/0/1368601155311066426.jpeg"
我使用這段代碼來提取但卻意外的事情。
r = re.findall('https://k(.?).website.com/images/0x0/0x0/0/(.*?).jpeg', response.text)
我得到的輸出:
[('2', '16576946054146395951'), ('2', '9460365509030976330'), ('2', '9361112829030898475'), ('3', '14705723619301900580')]
我想要的輸出:
https://k2.website.com/images/0x0/0x0/0/16576946054146395951.jpeg
https://k2.website.com/images/0x0/0x0/0/9460365509030976330.jpeg
https://k2.website.com/images/0x0/0x0/0/9361112829030898475.jpeg
https://k3.website.com/images/0x0/0x0/0/14705723619301900580.jpeg
https://k3.website.com/images/8x36/922x950/0/1368601155311066426.jpeg
如何使用正則表達式來填寫“開始”字后的網址? 謝謝 :)
括號括起findall
返回的捕獲組。 現在你的捕獲組是k(.>)
和(.*?).jpeg
。 刪除這些括號,然后捕獲整個網址。
另外,要將url與“/ 0x0 / 0x0 / 0 /”和“/ 8x36 / 922x950 / 0 /”匹配,請將正則表達式中的“/ 0x0 / 0x0 / 0 /”替換為“/.*/.*/” * /“:
r = re.findall('(https://k.?.website.com/images/.*/.*/.*/.*?.jpeg)', response.text)
我認為你要求的是在begin :
之后只提取URL begin :
. 為此您需要:
r = re.findall('"begin" : "(https://k.*?.jpeg)"', response.text)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.