python中用re如何抓取html中的内容

yuanqings 发布于 2018/05/16 20:49
阅读 847
收藏 0

<div class="ProductDetails">
        <span class="ProductName"><a href="http://www.photoequipmentstore.com.au/pixel-dl-913-video-led-light-x2-kit/">Pixel DL-913 Video Led Light X2 Kit</a></span>
        <span class="ProductPrice"><strike class="RetailPriceValue">$575.00</strike> $445.00</span>

请教:如何用re抓取productname,price.

加载中
0
拾光TM
拾光TM

为啥要用re,可以用BeautifulSoup的呀

0
y
yuanqings

条件限制我只能用re

0
拾光TM
拾光TM
那就只能一步步匹配了,写的这种式子挺烦的
0
拾光TM
拾光TM
私我一下,我教你怎么匹配
0
奔跑吧蛋蛋
奔跑吧蛋蛋
>[\w$\.-\s]{2,}?< 取〔1,-1〕
0
coder_it
coder_it

这个只能慢慢的一步步匹配啦,如果不限制于正则的话其实你可以用BeautifulSoup去解析网页的然后在获取里面的属性

0
拾光TM
拾光TM
import re

html = '''
<div class="ProductDetails">
        <span class="ProductName"><a href="http://www.photoequipmentstore.com.au/pixel-dl-913-video-led-light-x2-kit/">Pixel DL-913 Video Led Light X2 Kit</a></span>
        <span class="ProductPrice"><strike class="RetailPriceValue">$575.00</strike> $445.00</span>
'''
pattern = re.compile('.*?ProductName.*?/">(.*?)</a>'+'.*?ProductPrice.*?</strike>(.*?)</span>',re.S)
items = re.findall(pattern, html)
for item in items:
    print({
        'ProductName': item[0],
        'ProductPrice': item[1]
    })
0
y
yuanqings

谢谢各位高手的指教,经提示,认真研读了正则表达式,已成功提取了product和price

返回顶部
顶部