在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/數(shù)據(jù)分析&挖掘  Python/ python 爬蟲 正則問(wèn)題

python 爬蟲 正則問(wèn)題

<tr>
                                    <td>測(cè)試8</td>
                                    <td>
                                        
                                            
                                                不限制
                                            
                                            
                                        
                                    </td>
                                    <td>
                                        
                                            
                                            3
                                        
                                    </td>
                                    <td>
                                        
                                            
                                            
                                                300
                                            
                                        
                                    </td>
                                    <td>
                                        <a href="javascript:;" onclick="plan_edit('76261');">編輯</a>
                                    </td>
                                </tr>
                            
                                <tr>
                                    <td>測(cè)試7</td>
                                    <td>
                                        
                                            
                                                不限制
                                            
                                            
                                        
                                    </td>
                                    <td>
                                        
                                            
                                            1
                                        
                                    </td>
                                    <td>
                                        
                                            
                                            
                                                300
                                            
                                        
                                    </td>
                                    <td>
                                        <a href="javascript:;" onclick="plan_edit('76246');">編輯</a>
                                    </td>
                                </tr>
                            
                                <tr>
                                    <td>測(cè)試5</td>
                                    <td>
                                        
                                            
                                                不限制
                                            
                                            
                                        
                                    </td>
                                    <td>
                                        
                                            
                                            1
                                        
                                    </td>
                                    <td>
                                        
                                            
                                            
                                                300
                                            
                                        
                                    </td>
                                    <td>
                                        <a href="javascript:;" onclick="plan_edit('76181');">編輯</a>
                                    </td>
                                </tr>
                            
                                <tr>
                                    <td>測(cè)試4</td>
                                    <td>
                                        
                                            
                                                不限制
                                            
                                            
                                        
                                    </td>
                                    <td>
                                        
                                            
                                            1
                                        
                                    </td>
                                    <td>
                                        
                                            
                                            
                                                300
                                            
                                        
                                    </td>
                                    <td>
                                        <a href="javascript:;" onclick="plan_edit('76179');">編輯</a>
                                    </td>
                                </tr>
                            
                                <tr>
                                    <td>測(cè)試3</td>
                                    <td>
                                        
                                            
                                                不限制
                                            
                                            
                                        
                                    </td>
                                    <td>
                                        
                                            
                                            0
                                        
                                    </td>
                                    <td>
                                        
                                            
                                            
                                                300
                                            
                                        
                                    </td>
                                    <td>
                                        <a href="javascript:;" onclick="plan_edit('76176');">編輯</a>
                                    </td>
                                </tr>
                                

我想匹配測(cè)試8 到測(cè)試3 我寫的是這樣的

 feeds_plan_campaign_name = re.findall('''<tr>[.\S\s]*<td>(.*?)</td>[.\S\s]*<td>[.\S\s]*</td>[.\S\s]*<td>[.\S\s]*</td>[.\S\s]*<td>[.\S\s]*</td>[.\S\s]*<td>[.\S\s]*</td>[.\S\s]*</tr>''',feeds_plan_page_data.text,re.S)
                                    print len(feeds_plan_campaign_name)
                                    for k in range(len(feeds_plan_campaign_name)):
                                        print "name1" + feeds_plan_campaign_name[k]
                                

打印的結(jié)果只有測(cè)試3 這是為啥呢?

回答
編輯回答
陪她鬧

為何不嘗試下beautifulsoup4呢(笑)

2017年8月15日 21:02
編輯回答
瘋浪

佩服樓主的正則理解方式 <td>[.Ss]</td>[.Ss] 一堆重復(fù)不會(huì)括號(hào)擴(kuò)起來(lái)嗎
不想捕獲的話用個(gè)非捕獲括號(hào)(?:<td>[.Ss]</td>[.Ss])*

就你上面那個(gè)正則只有一個(gè)捕獲括號(hào),你還指望能返回啥呢

2018年3月13日 04:15
編輯回答
愿如初

對(duì)于這種結(jié)構(gòu)分明(帶有html完整標(biāo)簽的內(nèi)容), 我建議不要使用正則表達(dá)式regex, 更好的辦法是使用Xpath, 如果你還不知道什么是Xpath, 請(qǐng)?jiān)?a rel="nofollow noreferrer">w3school學(xué)習(xí)一下.

僅需體驗(yàn)三分鐘, 你就會(huì)和我一樣愛(ài)上這款工具.(逃)

如果你堅(jiān)持要用正則, 我寫了個(gè), 真的很麻煩! 而且挺沒(méi)有可移植性. 如下, 供參考:

'''
regex = re.compile("<tr>[\s]*<td>([\u4e00-\u9fa50-9]*)</td>[\s]*<td>[\s]*([\u4e00-\u9fa5]*)
[\s]*</td>[\s]*<td>[\s]*([0-9]*)[\s]*</td>[\s]*<td>[\s]*([0-9]*)")
'''
# (一行寫不下, 所以用了''' ''',請(qǐng)拷貝測(cè)試時(shí)刪去)

返回值就是你需要的一個(gè)列表(多維數(shù)組).

2017年6月4日 23:30
編輯回答
陪她鬧
>>> from pyquery import PyQuery
>>> print([i.text for i in PyQuery(s)('tr > td:first')])
['測(cè)試8', '測(cè)試7', '測(cè)試5', '測(cè)試4', '測(cè)試3']
2018年5月2日 13:31