推 kaichan:先用 re 把 style 除掉? 我想不到方法的時候會這樣做 09/15 00:36
請問要怎麼把style除掉呢?
我的想法是 re.search('style',attrs)
如果 is None 才執行,不然就不執行
可是 re.search('style',attrs)
一直錯誤,好像是因為attrs是清單,但是我不知道如何取出他>"<
推 seedman:看來就是內建的htmlparser容錯比較弱 你可以用lxml 09/15 00:52
→ seedman:不然手動re <a[^>]+href="(.+?)"[^>]+> group(1)取出 09/15 00:59
請問~ 手動 re 是這樣寫嗎?
aa = re.match('<a[^>]+href="(.+?)"[^>]+>',scontent2)
aa.group(1)
可是一直出現錯誤訊息@@"
我還是搞不懂手動re的意思,是就不用進去htmlparser裡面了嗎?
只要把網頁讀出來?!
※ 編輯: mirror012020 來自: 218.172.216.17 (09/15 02:21)
推 seedman:就是把網頁當字串來找 發現用re.findall的話連group都不用 09/15 07:48
→ seedman:你的錯誤訊息是甚麼 09/15 07:49
用上面那個寫法,錯誤訊息是AttributeError
'NoneType' object has no attribute 'group'
我用了re.findall有成功叫出來,但是有些也會失誤@@"~
我請想問一下 <a[^>]+href="(.+?)"[^>]+> 的 "(.+?)"是什麼意思呢?
※ 編輯: mirror012020 來自: 218.172.216.111 (09/15 17:05)
→ seedman:.任意字元 +?一個以上越短越好 ()把這段群組起來 09/15 18:28
→ seedman:會NoneType表示沒有找到合pattern的 大概哪裡有錯? 09/15 18:28
推 kaichan:手動re 我會做在 feed 裡 或是在 feed data 之前 09/16 00:31
謝謝你們!這個部份我解決囉^^
直接收尋re.findall('<a[^>]+href="(.+?)"', scontent2) 有成功將我要的收集在清單
※ 編輯: mirror012020 來自: 218.172.218.4 (09/21 12:49)