我是python新手(使用2.7.3)。我曾尝试使用python进行web抓取,但没有得到预期的结果:
import urllib
import re
regex='<title>(.+?)<\title>'
pattern=re.compile(regex)
dummy="fsdfsdf<title>Test<\title>dsf"
html=urllib.urlopen('http://www.google.com')
text=html.read()
print pattern.findall(text)
print pattern.findall(dummy)
虽然第二个打印语句工作正常,但第一个应该打印谷歌,但它给出了一个空白列表。你知道吗
尝试更改:
至
你打错了斜杠:
应该是:
HTML在结束标记中使用斜杠。你知道吗
也就是说,不要使用正则表达式来解析HTML。用这样的表达式匹配HTML会变得太复杂,太快。你知道吗
相反,使用HTML解析器,Python有几种方法可供选择。我建议您使用BeautifulSoup,这是一个流行的第三方库。你知道吗
BeautifulSoup示例:
相关问题 更多 >
编程相关推荐