楼主: 老城别恋
3631 3

python 正则表达式爬虫 程序卡死问题 [推广有奖]

  • 0关注
  • 0粉丝

本科生

86%

还不是VIP/贵宾

-

威望
0
论坛币
862 个
通用积分
0.2418
学术水平
0 点
热心指数
2 点
信用等级
0 点
经验
795 点
帖子
36
精华
0
在线时间
175 小时
注册时间
2016-12-24
最后登录
2022-11-26

22论坛币
用正则表达式爬取豆瓣读书网站 链接 书名 作者 年份,电脑一直卡着为啥?(附代码和截屏,Spyder和cmd都运行不出来),好几次了都是这样,难道正则表达式有问题 还是电脑问题。
import requests
import re
content = requests.get('https://book.douban.com/').text
pattern = re.compile('<li.*?cover.*?href="(.*?)".*?title="(.*?)".*?more-meta.*?author">(.*?)</span>.*?year">(.*?)</span>.*?</li>', re.S)
results = re.findall(pattern, content)
for result in results:
    url, name, author, date = result
    author = re.sub('\s', '', author)
    date = re.sub('\s', '', date)
    print(url, name, author, date)
网站源代码 Spyder运行过程 1522761098(1).png

最佳答案

15738812523 查看完整内容

应该是正则太复杂卡死了程序,建议使用beautifulsoup4,xpath等解析库。如果非要用正则的话,一层一层剥离,不要只通过一个正则表达式搞定,比如先把某个div拨出来,然后里面的内容一层一层解析。(本人百度的)
关键词:python正则表达式爬虫

回帖推荐

15738812523 发表于2楼  查看完整内容

应该是正则太复杂卡死了程序,建议使用beautifulsoup4,xpath等解析库。如果非要用正则的话,一层一层剥离,不要只通过一个正则表达式搞定,比如先把某个div拨出来,然后里面的内容一层一层解析。(本人百度的)
沙发
15738812523 发表于 2018-4-3 21:19:55 |只看作者 |坛友微信交流群
应该是正则太复杂卡死了程序,建议使用beautifulsoup4,xpath等解析库。如果非要用正则的话,一层一层剥离,不要只通过一个正则表达式搞定,比如先把某个div拨出来,然后里面的内容一层一层解析。(本人百度的)

使用道具

藤椅
老城别恋 发表于 2018-4-3 21:39:02 |只看作者 |坛友微信交流群
15738812523 发表于 2018-4-3 21:37
应该是正则太复杂卡死了程序,建议使用beautifulsoup4,xpath等解析库。如果非要用正则的话,一层一层剥离, ...
我的目的是想运行出来 该怎么解决呀

使用道具

板凳
elegantcoin 学生认证  发表于 2018-5-2 18:18:46 |只看作者 |坛友微信交流群
我建议也用 BS
你可以用一个叫  regex101 的网站测试自己的表达式正不正确。

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加JingGuanBbs
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 00:49