关于python爬虫利用正则表达式爬取不到内容的问题

我在用正则表达式爬取豆瓣电影里面的电影演员信息。
网页演员信息的位置如下:

图片说明

那么要爬取其中的这些演员名不就是下面的代码吗?

actors = re.findall(r'<div class="meta abstract_2">(.*?)</div>', resp, re.DOTALL)

其中resp是前面获取到的网页代码

可是print(actors)输出结果为空,请问是哪里不对呀?
有没有大佬就用正则表达式帮忙解答一下?因为我用爬虫只会用正则表达式匹配。

2个回答

爬虫内容解析比较方便的不是正则而是 xpath ,语法也很容易,建议试试这种:

from lxml import etree  # 解析页面的模块
html = etree.HTML(top_page)# top_page 你的代码中的页面 text
result = html.xpath('//div[@class="meta abstract_2"]text()') # 得到 div 的文本内容。

weixin_44680262
不停下脚步的乌龟 谢谢
3 个月之前 回复

你确定resp是网页文本内容?

weixin_44680262
不停下脚步的乌龟 就是request.get(url).text得到的
3 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问