您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

正则表达式如何匹配网页里面的汉字?

2024/6/17 11:36:52发布37次查看
python做的爬虫,需要提取html中apple iphone 5s (a1530) 16gb 金色 移动联通4g手机 这里面的手机名,因为初学怎么都不能匹配完全, 其中用.*只能匹配到apple iphone 5s (a1 请各位指点一下!已经困住两天了!回复内容:谢邀。
我又来安利xpath了,放弃正则表达式吧少年。
//span[@class=pro-title]/text()
没人用beautifulsoup?(?).*?(?=如果实际情况中有许多不同的“”对,就请自行填充前后向断言的内容你应该看看汉字编码,网页的编码很可能是gbk,然而python是用的utf8,所以绝对匹配不了
怒答,看到不懂正则的还瞎bb,为你感到悲哀!上图!
---------------代码区----------------# coding:utf-8import rex='apple iphone 5s (a1530) 16gb 金色 移动联通4g手机 'xre=r'()(.+)( )'z=re.search(xre,x).group(2)print z----------输出区-----------------------c:\python27\python.exe d:/pycharmprojects/爬虫/test.pyapple iphone 5s (a1530) 16gb 金色 移动联通4g手机进程已结束,退出代码0
.+ /ssu一般情况下可以这样匹配中文,如图:
先用靓汤或正则找到这个节点,再用上面的字符组匹配。
假设这个节点只有一个,用法如下:
import reimport requests as reqfrom bs4 import beautifulsoupurl = 'xxx'html = req.get(url).textbs = 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用 phpquerycss selector
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product