回复内容:
谢邀。
我又来安利xpath了,放弃正则表达式吧少年。
//span[@class="pro-title"]/text()没人用BeautifulSoup?
(? ).*?(?= 如果实际情况中有许多不同的“ ”对,就请自行填充前后向断言的内容 你应该看看汉字编码,网页的编码很可能是GBK,然而python是用的utf8,所以绝对匹配不了
怒答,看到不懂正则的还瞎BB,为你感到悲哀!上图!---------------代码区---------------- # coding:utf-8 import re x=' Apple iPhone 5s (A1530) 16GB 金色 移动联通4G手机 ' xre=r'( )(.+)( )' z=re.search(xre,x).group(2) print z ----------输出区----------------------- C:\Python27\python.exe D:/PycharmProjects/爬虫/test.py Apple iPhone 5s (A1530) 16GB 金色 移动联通4G手机 进程已结束,退出代码0 .+ /sSU 一般情况下可以这样匹配中文,如图:
先用靓汤或正则找到这个节点,再用上面的字符组匹配。
假设这个节点只有一个,用法如下:import re import requests as req from bs4 import BeautifulSoup url = 'xxx' html = req . get ( url ) . text bs = BeautifulSoup ( html ) span = bs . find_all ( 'span' , 'pro-title' ) ''' span = re.findall(' [^ ', html) s = span[0] m = re.findall('[\u4e00-\u9fa5]+', s) ''' s = str ( span ) m = re . findall ( '[ \u4e00 - \u9fa5 ]+' , s ) print ( m )pyquery 会用jquery的话你会爱上它的 换php用 phpQuery CSS Selector查看更多关于正则表达式如何匹配网页里面的汉字?的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did83237