问题描述:
我想爬取电影网站的描述信息,一开始用的是正则,但是不是很熟练,就用了xpath,xpath在chrome中可以使用,但是放到代码里就失效了,我用了自己写的xpath还有chrome获取的xpath(没有tbody的问题)都没有用。
(以 http://www.ygdy8.com/html/gnd... 为例)
我想要爬取的是以下文字信息:
代码(一部分):
def getContent(url):
html = ulr.urlopen('http://www.ygdy8.net%s' %url).read()
con_text = html.decode('gb2312', 'ignore')
data = etree.HTML(con_text)
#reg = r'<div class="co_content8">(.+?)<p><strong><font color="#ff0000" size="4">'
#reg = r'◎简 介 <br /><br />(.*?)<br />'
#text = re.compile(reg).findall(con_text)
#text = data.xpath('//*[@id="Zoom"]/span/p[1]/text()') #chrome浏览器中获取
#text = data.xpath('//div[@id="Zoom"]/span/p/text()') #自己尝试的
#text = data.xpath('/html/body/div/div/div[@class="bd2"]/div[@class="bd3"]/div[@class="bd3r"]/div[@class="co_area2"]/div[@class="co_content8"]/ul/div[@align="left"]/div[@id="Zoom"]/span/p/text()') #从根目录处开始尝试查找
if text:
text = text[0]
reg = r'<td style="WORD-WRAP: break-word" bgcolor="#fdfddf"><a href="(.+?)"'
link = re.findall(reg,con_text)[0]
return text,link
注释的地方就是有问题的地方
执行结果:
在chrome浏览器中使用xpath:
在代码中使用xpath:
尝试过直接获取所有p标签以下的内容,发现前面的一些文字可以获取,但是想要的信息获取不到。
请问该如何实现爬取想要的信息,xpath和正则分别应该怎么写呢?
并且:
对于这种已经转换为html信息的输出具体有什么意思