|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
- import requests
- import re
- headers = {
- "user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 UBrowser/6.2.3637.802 Safari/537.36"
- }
- content = requests.get('https://book.douban.com/',headers=headers).text
- pattern = re.compile('<li.*?cover.*?href="(.*?)".*?title="(.*?)".*?mort-meta.*?author">(.*?)</span>.*?year>(.*?)</span>.*?</li>',re.S)
- results = re.findall(pattern,content)
- for link in results:
- url,name,author,year = link
- print(url,name,author,year)
复制代码
这是一段正则表达式提取链接,名字的代码
只要一运行,就什么也不出来
就想图片那样
是不是我电脑的问题还是服务器的问题
正则表达式太复杂啦。我试着把“view-source:https://book.douban.com/”内容贴到 UltraEdit 里,然后搜:
- <li[\s\S]*?cover[\s\S]*?href="([\s\S]*?)"[\s\S]*?title="([\s\S]*?)"[\s\S]*?mort-meta[\s\S]*?author">([\s\S]*?)</span>[\s\S]*?year>([\s\S]*?)</span>[\s\S]*?</li>
复制代码
结果 UltraEdit 提示:
“匹配表达式的复杂性超过了可用的资源。”
想来 Python 执行楼主代码的时候,也是这么个情况,不过因为没有类似的提示,就一直卡在那里。
|
-
|